middleman-core 3.3.2 → 3.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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