middleman-core 3.3.2 → 3.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/features/helpers_select_tag.feature +6 -8
  3. data/lib/middleman-core.rb +1 -2
  4. data/lib/middleman-core/application.rb +10 -9
  5. data/lib/middleman-core/cli.rb +9 -13
  6. data/lib/middleman-core/cli/build.rb +26 -27
  7. data/lib/middleman-core/cli/bundler.rb +6 -7
  8. data/lib/middleman-core/cli/console.rb +10 -13
  9. data/lib/middleman-core/cli/extension.rb +2 -4
  10. data/lib/middleman-core/cli/init.rb +27 -28
  11. data/lib/middleman-core/cli/server.rb +43 -44
  12. data/lib/middleman-core/configuration.rb +13 -11
  13. data/lib/middleman-core/core_extensions/data.rb +21 -29
  14. data/lib/middleman-core/core_extensions/extensions.rb +8 -8
  15. data/lib/middleman-core/core_extensions/external_helpers.rb +3 -5
  16. data/lib/middleman-core/core_extensions/file_watcher.rb +7 -11
  17. data/lib/middleman-core/core_extensions/front_matter.rb +5 -6
  18. data/lib/middleman-core/core_extensions/rendering.rb +40 -30
  19. data/lib/middleman-core/core_extensions/request.rb +16 -19
  20. data/lib/middleman-core/core_extensions/routing.rb +37 -36
  21. data/lib/middleman-core/core_extensions/show_exceptions.rb +1 -5
  22. data/lib/middleman-core/extension.rb +14 -16
  23. data/lib/middleman-core/extensions.rb +4 -6
  24. data/lib/middleman-core/load_paths.rb +3 -6
  25. data/lib/middleman-core/logger.rb +1 -3
  26. data/lib/middleman-core/meta_pages.rb +11 -11
  27. data/lib/middleman-core/meta_pages/config_setting.rb +4 -4
  28. data/lib/middleman-core/meta_pages/sitemap_resource.rb +2 -2
  29. data/lib/middleman-core/meta_pages/sitemap_tree.rb +4 -4
  30. data/lib/middleman-core/preview_server.rb +12 -11
  31. data/lib/middleman-core/profiling.rb +6 -8
  32. data/lib/middleman-core/renderers/asciidoc.rb +12 -13
  33. data/lib/middleman-core/renderers/coffee_script.rb +2 -4
  34. data/lib/middleman-core/renderers/erb.rb +3 -4
  35. data/lib/middleman-core/renderers/haml.rb +2 -4
  36. data/lib/middleman-core/renderers/kramdown.rb +3 -4
  37. data/lib/middleman-core/renderers/less.rb +3 -9
  38. data/lib/middleman-core/renderers/liquid.rb +4 -8
  39. data/lib/middleman-core/renderers/markdown.rb +7 -11
  40. data/lib/middleman-core/renderers/redcarpet.rb +14 -16
  41. data/lib/middleman-core/renderers/sass.rb +36 -15
  42. data/lib/middleman-core/renderers/slim.rb +7 -10
  43. data/lib/middleman-core/renderers/stylus.rb +2 -6
  44. data/lib/middleman-core/sitemap.rb +6 -13
  45. data/lib/middleman-core/sitemap/extensions/ignores.rb +4 -10
  46. data/lib/middleman-core/sitemap/extensions/on_disk.rb +3 -7
  47. data/lib/middleman-core/sitemap/extensions/proxies.rb +7 -12
  48. data/lib/middleman-core/sitemap/extensions/redirects.rb +7 -15
  49. data/lib/middleman-core/sitemap/extensions/request_endpoints.rb +7 -15
  50. data/lib/middleman-core/sitemap/extensions/traversal.rb +4 -7
  51. data/lib/middleman-core/sitemap/queryable.rb +22 -27
  52. data/lib/middleman-core/sitemap/resource.rb +13 -25
  53. data/lib/middleman-core/sitemap/store.rb +11 -15
  54. data/lib/middleman-core/templates.rb +9 -12
  55. data/lib/middleman-core/templates/default.rb +6 -7
  56. data/lib/middleman-core/templates/empty.rb +0 -1
  57. data/lib/middleman-core/templates/extension/Gemfile +1 -1
  58. data/lib/middleman-core/templates/extension/Rakefile +2 -2
  59. data/lib/middleman-core/templates/extension/lib/lib.rb +0 -1
  60. data/lib/middleman-core/templates/html5.rb +6 -7
  61. data/lib/middleman-core/templates/local.rb +1 -2
  62. data/lib/middleman-core/templates/mobile.rb +3 -4
  63. data/lib/middleman-core/templates/shared/config.ru +1 -1
  64. data/lib/middleman-core/util.rb +5 -6
  65. data/lib/middleman-core/version.rb +1 -1
  66. data/lib/middleman-more/core_extensions/compass.rb +0 -1
  67. data/lib/middleman-more/core_extensions/default_helpers.rb +25 -16
  68. data/lib/middleman-more/core_extensions/i18n.rb +24 -23
  69. data/lib/middleman-more/extensions/asset_hash.rb +4 -6
  70. data/lib/middleman-more/extensions/asset_host.rb +1 -1
  71. data/lib/middleman-more/extensions/automatic_alt_tags.rb +2 -3
  72. data/lib/middleman-more/extensions/automatic_image_sizes.rb +4 -5
  73. data/lib/middleman-more/extensions/cache_buster.rb +0 -1
  74. data/lib/middleman-more/extensions/gzip.rb +1 -1
  75. data/lib/middleman-more/extensions/lorem.rb +8 -8
  76. data/lib/middleman-more/extensions/minify_css.rb +9 -8
  77. data/lib/middleman-more/extensions/minify_javascript.rb +5 -6
  78. data/lib/middleman-more/extensions/relative_assets.rb +0 -1
  79. data/lib/middleman-more/templates/smacss.rb +6 -7
  80. data/middleman-core.gemspec +1 -1
  81. metadata +5 -5
@@ -1,6 +1,5 @@
1
1
  # CLI Module
2
2
  module Middleman::Cli
3
-
4
3
  # Server thor task
5
4
  class Server < Thor
6
5
  check_unknown_options!
@@ -9,54 +8,54 @@ module Middleman::Cli
9
8
 
10
9
  desc 'server [options]', 'Start the preview server'
11
10
  method_option :environment,
12
- :aliases => '-e',
13
- :default => ENV['MM_ENV'] || ENV['RACK_ENV'] || 'development',
14
- :desc => 'The environment Middleman will run under'
11
+ aliases: '-e',
12
+ default: ENV['MM_ENV'] || ENV['RACK_ENV'] || 'development',
13
+ desc: 'The environment Middleman will run under'
15
14
  method_option :host,
16
- :type => :string,
17
- :aliases => '-h',
18
- :default => '0.0.0.0',
19
- :desc => 'Bind to HOST address'
15
+ type: :string,
16
+ aliases: '-h',
17
+ default: '0.0.0.0',
18
+ desc: 'Bind to HOST address'
20
19
  method_option :port,
21
- :aliases => '-p',
22
- :default => '4567',
23
- :desc => 'The port Middleman will listen on'
20
+ aliases: '-p',
21
+ default: '4567',
22
+ desc: 'The port Middleman will listen on'
24
23
  method_option :verbose,
25
- :type => :boolean,
26
- :default => false,
27
- :desc => 'Print debug messages'
24
+ type: :boolean,
25
+ default: false,
26
+ desc: 'Print debug messages'
28
27
  method_option :instrument,
29
- :type => :string,
30
- :default => false,
31
- :desc => 'Print instrument messages'
28
+ type: :string,
29
+ default: false,
30
+ desc: 'Print instrument messages'
32
31
  method_option :disable_watcher,
33
- :type => :boolean,
34
- :default => false,
35
- :desc => 'Disable the file change and delete watcher process'
32
+ type: :boolean,
33
+ default: false,
34
+ desc: 'Disable the file change and delete watcher process'
36
35
  method_option :profile,
37
- :type => :boolean,
38
- :default => false,
39
- :desc => 'Generate profiling report for server startup'
36
+ type: :boolean,
37
+ default: false,
38
+ desc: 'Generate profiling report for server startup'
40
39
  method_option :reload_paths,
41
- :type => :string,
42
- :default => false,
43
- :desc => 'Additional paths to auto-reload when files change'
40
+ type: :string,
41
+ default: false,
42
+ desc: 'Additional paths to auto-reload when files change'
44
43
  method_option :force_polling,
45
- :type => :boolean,
46
- :default => false,
47
- :desc => 'Force file watcher into polling mode'
44
+ type: :boolean,
45
+ default: false,
46
+ desc: 'Force file watcher into polling mode'
48
47
  method_option :latency,
49
- :type => :numeric,
50
- :aliases => '-l',
51
- :default => 0.25,
52
- :desc => 'Set file watcher latency, in seconds'
48
+ type: :numeric,
49
+ aliases: '-l',
50
+ default: 0.25,
51
+ desc: 'Set file watcher latency, in seconds'
53
52
 
54
53
  # Start the server
55
54
  def server
56
55
  require 'middleman-core'
57
56
  require 'middleman-core/preview_server'
58
57
 
59
- if !ENV['MM_ROOT']
58
+ unless ENV['MM_ROOT']
60
59
  puts '== Could not find a Middleman project config.rb'
61
60
  puts '== Treating directory as a static site to be served'
62
61
  ENV['MM_ROOT'] = Dir.pwd
@@ -64,15 +63,15 @@ module Middleman::Cli
64
63
  end
65
64
 
66
65
  params = {
67
- :port => options['port'],
68
- :host => options['host'],
69
- :environment => options['environment'],
70
- :debug => options['verbose'],
71
- :instrumenting => options['instrument'],
72
- :disable_watcher => options['disable_watcher'],
73
- :reload_paths => options['reload_paths'],
74
- :force_polling => options['force_polling'],
75
- :latency => options['latency']
66
+ port: options['port'],
67
+ host: options['host'],
68
+ environment: options['environment'],
69
+ debug: options['verbose'],
70
+ instrumenting: options['instrument'],
71
+ disable_watcher: options['disable_watcher'],
72
+ reload_paths: options['reload_paths'],
73
+ force_polling: options['force_polling'],
74
+ latency: options['latency']
76
75
  }
77
76
 
78
77
  puts '== The Middleman is loading'
@@ -85,5 +84,5 @@ module Middleman::Cli
85
84
  end
86
85
 
87
86
  # Map "s" to "server"
88
- Base.map({ 's' => 'server' })
87
+ Base.map('s' => 'server')
89
88
  end
@@ -39,7 +39,7 @@ module Middleman
39
39
  end
40
40
 
41
41
  # Needed so that method_missing makes sense
42
- def respond_to?(method, include_private = false)
42
+ def respond_to?(method, include_private=false)
43
43
  super || config.defines_setting?(method)
44
44
  end
45
45
  end
@@ -53,7 +53,7 @@ module Middleman
53
53
  # @deprecated Prefer accessing settings through "config".
54
54
  #
55
55
  # @return [ConfigurationManager]
56
- alias :settings :config
56
+ alias_method :settings, :config
57
57
 
58
58
  # Set attributes (global variables)
59
59
  #
@@ -80,7 +80,7 @@ module Middleman
80
80
  end
81
81
 
82
82
  # Needed so that method_missing makes sense
83
- def respond_to?(method, include_private = false)
83
+ def respond_to?(method, include_private=false)
84
84
  super || config.defines_setting?(method)
85
85
  end
86
86
  end
@@ -111,16 +111,17 @@ module Middleman
111
111
  # Get the value of a setting by key. Returns nil if there is no such setting.
112
112
  # @return [Object]
113
113
  def [](key)
114
- setting = @settings[key]
115
- setting ? setting.value : nil
114
+ setting_obj = setting(key)
115
+ setting_obj ? setting_obj.value : nil
116
116
  end
117
117
 
118
118
  # Set the value of a setting by key. Creates the setting if it doesn't exist.
119
119
  # @param [Symbol] key
120
120
  # @param [Object] val
121
+ # rubocop:disable UselessSetterCall
121
122
  def []=(key, val)
122
- setting = @settings[key] || define_setting(key)
123
- setting.value = val
123
+ setting_obj = setting(key) || define_setting(key)
124
+ setting_obj.value = val
124
125
  end
125
126
 
126
127
  # Allow configuration settings to be read and written via methods
@@ -135,7 +136,7 @@ module Middleman
135
136
  end
136
137
 
137
138
  # Needed so that method_missing makes sense
138
- def respond_to?(method, include_private = false)
139
+ def respond_to?(method, include_private=false)
139
140
  super || defines_setting?(method) || (method =~ /^(\w+)=$/ && defines_setting?($1))
140
141
  end
141
142
 
@@ -143,7 +144,7 @@ module Middleman
143
144
  # @param [Symbol] key
144
145
  # @return [Boolean]
145
146
  def defines_setting?(key)
146
- @settings.has_key?(key)
147
+ @settings.key?(key)
147
148
  end
148
149
 
149
150
  # Define a new setting, with optional default and user-friendly description.
@@ -155,7 +156,7 @@ module Middleman
155
156
  # @return [ConfigSetting]
156
157
  def define_setting(key, default=nil, description=nil)
157
158
  raise "Setting #{key} doesn't exist" if @finalized
158
- raise "Setting #{key} already defined" if @settings.has_key?(key)
159
+ raise "Setting #{key} already defined" if @settings.key?(key)
159
160
  raise 'Setting key must be a Symbol' unless key.is_a? Symbol
160
161
 
161
162
  @settings[key] = ConfigSetting.new(key, default, description)
@@ -170,7 +171,7 @@ module Middleman
170
171
 
171
172
  # Deep duplicate of the configuration manager
172
173
  def dup
173
- ConfigurationManager.new.tap {|c| c.load_settings(self.all_settings) }
174
+ ConfigurationManager.new.tap { |c| c.load_settings(all_settings) }
174
175
  end
175
176
 
176
177
  # Load in a list of settings
@@ -227,6 +228,7 @@ module Middleman
227
228
  end
228
229
 
229
230
  # Whether or not there has been a value set beyond the default
231
+ # rubocop:disable TrivialAccessors
230
232
  def value_set?
231
233
  @value_set
232
234
  end
@@ -1,10 +1,8 @@
1
1
  module Middleman
2
2
  module CoreExtensions
3
-
4
3
  # The data extension parses YAML and JSON files in the data/ directory
5
4
  # and makes them available to config.rb, templates and extensions
6
5
  module Data
7
-
8
6
  # Extension registered
9
7
  class << self
10
8
  # @private
@@ -16,7 +14,7 @@ module Middleman
16
14
  app.config.define_setting :data_dir, 'data', 'The directory data files are stored in'
17
15
  app.send :include, InstanceMethods
18
16
  end
19
- alias :included :registered
17
+ alias_method :included, :registered
20
18
  end
21
19
 
22
20
  # Instance methods
@@ -24,12 +22,12 @@ module Middleman
24
22
  # Setup data files before anything else so they are available when
25
23
  # parsing config.rb
26
24
  def initialize
27
- self.files.changed DataStore.matcher do |file|
28
- self.data.touch_file(file) if file.start_with?("#{config[:data_dir]}/")
25
+ files.changed DataStore.matcher do |file|
26
+ data.touch_file(file) if file.start_with?("#{config[:data_dir]}/")
29
27
  end
30
28
 
31
- self.files.deleted DataStore.matcher do |file|
32
- self.data.remove_file(file) if file.start_with?("#{config[:data_dir]}/")
29
+ files.deleted DataStore.matcher do |file|
30
+ data.remove_file(file) if file.start_with?("#{config[:data_dir]}/")
33
31
  end
34
32
 
35
33
  super
@@ -45,10 +43,8 @@ module Middleman
45
43
 
46
44
  # The core logic behind the data extension.
47
45
  class DataStore
48
-
49
46
  # Static methods
50
47
  class << self
51
-
52
48
  # The regex which tells Middleman which files are for data
53
49
  #
54
50
  # @return [Regexp]
@@ -137,7 +133,7 @@ module Middleman
137
133
  data_branch = data_branch[dir]
138
134
  end
139
135
 
140
- data_branch.delete(basename) if data_branch.has_key?(basename)
136
+ data_branch.delete(basename) if data_branch.key?(basename)
141
137
  end
142
138
 
143
139
  # Get a hash from either internal static data or a callback
@@ -147,13 +143,10 @@ module Middleman
147
143
  def data_for_path(path)
148
144
  response = nil
149
145
 
150
- @@local_sources ||= {}
151
- @@callback_sources ||= {}
152
-
153
- if self.store.has_key?(path.to_s)
154
- response = self.store[path.to_s]
155
- elsif self.callbacks.has_key?(path.to_s)
156
- response = self.callbacks[path.to_s].call()
146
+ if store.key?(path.to_s)
147
+ response = store[path.to_s]
148
+ elsif callbacks.key?(path.to_s)
149
+ response = callbacks[path.to_s].call
157
150
  end
158
151
 
159
152
  response
@@ -164,22 +157,19 @@ module Middleman
164
157
  # @param [String] path The namespace to search for
165
158
  # @return [Hash, nil]
166
159
  def method_missing(path)
167
- if @local_data.has_key?(path.to_s)
160
+ if @local_data.key?(path.to_s)
168
161
  return @local_data[path.to_s]
169
162
  else
170
163
  result = data_for_path(path)
171
-
172
- if result
173
- return ::Middleman::Util.recursively_enhance(result)
174
- end
164
+ return ::Middleman::Util.recursively_enhance(result) if result
175
165
  end
176
166
 
177
167
  super
178
168
  end
179
169
 
180
170
  # Needed so that method_missing makes sense
181
- def respond_to?(method, include_private = false)
182
- super || has_key?(method)
171
+ def respond_to?(method, include_private=false)
172
+ super || key?(method)
183
173
  end
184
174
 
185
175
  # Make DataStore act like a hash. Return requested data, or
@@ -188,24 +178,26 @@ module Middleman
188
178
  # @param [String, Symbol] key The name of the data namespace
189
179
  # @return [Hash, nil]
190
180
  def [](key)
191
- __send__(key) if has_key?(key)
181
+ __send__(key) if key?(key)
192
182
  end
193
183
 
194
- def has_key?(key)
195
- @local_data.has_key?(key.to_s) || !!(data_for_path(key))
184
+ def key?(key)
185
+ @local_data.key?(key.to_s) || data_for_path(key)
196
186
  end
197
187
 
188
+ alias_method :has_key?, :key?
189
+
198
190
  # Convert all the data into a static hash
199
191
  #
200
192
  # @return [Hash]
201
193
  def to_h
202
194
  data = {}
203
195
 
204
- self.store.each do |k, v|
196
+ store.each do |k, _|
205
197
  data[k] = data_for_path(k)
206
198
  end
207
199
 
208
- self.callbacks.each do |k, v|
200
+ callbacks.each do |k, _|
209
201
  data[k] = data_for_path(k)
210
202
  end
211
203
 
@@ -32,7 +32,6 @@
32
32
  module Middleman
33
33
  module CoreExtensions
34
34
  module Extensions
35
-
36
35
  # Register extension
37
36
  class << self
38
37
  # @private
@@ -49,9 +48,9 @@ module Middleman
49
48
 
50
49
  app.extend ClassMethods
51
50
  app.send :include, InstanceMethods
52
- app.delegate :configure, :to => :"self.class"
51
+ app.delegate :configure, to: :"self.class"
53
52
  end
54
- alias :included :registered
53
+ alias_method :included, :registered
55
54
  end
56
55
 
57
56
  # Class methods
@@ -75,7 +74,7 @@ module Middleman
75
74
  else
76
75
  extend extension
77
76
  if extension.respond_to?(:registered)
78
- if extension.method(:registered).arity === 1
77
+ if extension.method(:registered).arity == 1
79
78
  extension.registered(self, &block)
80
79
  else
81
80
  extension.registered(self, options, &block)
@@ -96,6 +95,7 @@ module Middleman
96
95
  #
97
96
  # @param [Symbol, Module] ext Which extension to activate
98
97
  # @return [void]
98
+ # rubocop:disable BlockNesting
99
99
  def activate(ext, options={}, &block)
100
100
  ext_module = if ext.is_a?(Module)
101
101
  ext
@@ -157,7 +157,7 @@ module Middleman
157
157
 
158
158
  # Check for and evaluate local configuration
159
159
  local_config = File.join(root, 'config.rb')
160
- if File.exists? local_config
160
+ if File.exist? local_config
161
161
  logger.debug '== Reading: Local config'
162
162
  instance_eval File.read(local_config), local_config, 1
163
163
  end
@@ -172,16 +172,16 @@ module Middleman
172
172
  # polluted with paths from other test app directories that don't
173
173
  # exist anymore.
174
174
  if ENV['TEST']
175
- ::I18n.load_path.delete_if {|path| path =~ %r{tmp/aruba}}
175
+ ::I18n.load_path.delete_if { |path| path =~ %r{tmp/aruba} }
176
176
  ::I18n.reload!
177
177
  end
178
178
 
179
179
  run_hook :after_configuration
180
180
 
181
181
  logger.debug 'Loaded extensions:'
182
- self.extensions.each do |ext, klass|
182
+ extensions.each do |ext, klass|
183
183
  if ext.is_a?(Hash)
184
- ext.each do |k,_|
184
+ ext.each do |k, _|
185
185
  logger.debug "== Extension: #{k}"
186
186
  end
187
187
  else
@@ -2,16 +2,14 @@
2
2
  module Middleman
3
3
  module CoreExtensions
4
4
  module ExternalHelpers
5
-
6
5
  # Setup extension
7
6
  class << self
8
-
9
7
  # once registered
10
8
  def registered(app)
11
9
  # Setup a default helpers paths
12
10
  app.config.define_setting :helpers_dir, 'helpers', 'Directory to autoload helper modules from'
13
11
  app.config.define_setting :helpers_filename_glob, '**.rb', 'Glob pattern for matching helper ruby files'
14
- app.config.define_setting :helpers_filename_to_module_name_proc, Proc.new { |filename|
12
+ app.config.define_setting :helpers_filename_to_module_name_proc, proc { |filename|
15
13
  basename = File.basename(filename, File.extname(filename))
16
14
  basename.camelcase
17
15
  }, 'Proc implementing the conversion from helper filename to module name'
@@ -19,7 +17,7 @@ module Middleman
19
17
  # After config
20
18
  app.after_configuration do
21
19
  helpers_path = File.join(root, config[:helpers_dir])
22
- next unless File.exists?(helpers_path)
20
+ next unless File.exist?(helpers_path)
23
21
 
24
22
  Dir[File.join(helpers_path, config[:helpers_filename_glob])].each do |filename|
25
23
  module_name = config[:helpers_filename_to_module_name_proc].call(filename)
@@ -32,7 +30,7 @@ module Middleman
32
30
  end
33
31
  end
34
32
  end
35
- alias :included :registered
33
+ alias_method :included, :registered
36
34
  end
37
35
  end
38
36
  end
@@ -5,7 +5,6 @@ require 'set'
5
5
  module Middleman
6
6
  module CoreExtensions
7
7
  module FileWatcher
8
-
9
8
  IGNORE_LIST = [
10
9
  /^bin(\/|$)/,
11
10
  /^\.bundle(\/|$)/,
@@ -26,7 +25,6 @@ module Middleman
26
25
 
27
26
  # Setup extension
28
27
  class << self
29
-
30
28
  # Once registered
31
29
  def registered(app)
32
30
  app.send :include, InstanceMethods
@@ -47,12 +45,11 @@ module Middleman
47
45
  files.reload_path('.')
48
46
  end
49
47
  end
50
- alias :included :registered
48
+ alias_method :included, :registered
51
49
  end
52
50
 
53
51
  # Instance methods
54
52
  module InstanceMethods
55
-
56
53
  # Access the file api
57
54
  # @return [Middleman::CoreExtensions::FileWatcher::API]
58
55
  def files
@@ -62,10 +59,9 @@ module Middleman
62
59
 
63
60
  # Core File Change API class
64
61
  class API
65
-
66
62
  attr_reader :app
67
63
  attr_reader :known_paths
68
- delegate :logger, :to => :app
64
+ delegate :logger, to: :app
69
65
 
70
66
  # Initialize api and internal path cache
71
67
  def initialize(app)
@@ -102,7 +98,7 @@ module Middleman
102
98
  path = Pathname(path)
103
99
  logger.debug "== File Change: #{path}"
104
100
  @known_paths << path
105
- self.run_callbacks(path, :changed)
101
+ run_callbacks(path, :changed)
106
102
  end
107
103
 
108
104
  # Notify callbacks that a file was deleted
@@ -113,7 +109,7 @@ module Middleman
113
109
  path = Pathname(path)
114
110
  logger.debug "== File Deletion: #{path}"
115
111
  @known_paths.delete(path)
116
- self.run_callbacks(path, :deleted)
112
+ run_callbacks(path, :deleted)
117
113
  end
118
114
 
119
115
  # Manually trigger update events
@@ -151,7 +147,7 @@ module Middleman
151
147
 
152
148
  def exists?(path)
153
149
  p = Pathname(path)
154
- p = p.relative_path_from(Pathname(@app.root)) if !p.relative?
150
+ p = p.relative_path_from(Pathname(@app.root)) unless p.relative?
155
151
  @known_paths.include?(p)
156
152
  end
157
153
 
@@ -163,7 +159,7 @@ module Middleman
163
159
  app.config[:file_watcher_ignore].any? { |r| path =~ r }
164
160
  end
165
161
 
166
- protected
162
+ protected
167
163
 
168
164
  # Notify callbacks for a file given an array of callbacks
169
165
  #
@@ -172,7 +168,7 @@ module Middleman
172
168
  # @return [void]
173
169
  def run_callbacks(path, callbacks_name)
174
170
  path = path.to_s
175
- self.send(callbacks_name).each do |callback, matcher|
171
+ send(callbacks_name).each do |callback, matcher|
176
172
  next unless matcher.nil? || path.match(matcher)
177
173
  @app.instance_exec(path, &callback)
178
174
  end