Skip to content

Commit

Permalink
Refactor to reduce reek warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
sentientmonkey committed Oct 21, 2013
1 parent 89055a2 commit b9bb1e8
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 14 deletions.
5 changes: 5 additions & 0 deletions lib/flue/basefile.rb
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,11 @@ def datafile
end
end

def variables
data = datafile
YAML.load(data) if data
end

def content
File.read(filename)
end
Expand Down
14 changes: 7 additions & 7 deletions lib/flue/filter_register.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
module Flue
class FilterRegister
@@filters = {}

def self.filters
@@filters
@@filters ||= {}
end

def self.clear
Expand All @@ -20,14 +19,15 @@ def self.filters_by_name
end

def self.register(ext, filter)
filters[ext.to_s] ||= []
filters[ext.to_s] << filter
ext_name = ext.to_s
filters[ext_name] ||= []
filters[ext_name] << filter
end

def self.run(exts, content, options={})
f = exts.pop
return content unless f
result = run_ext(f, content, options)
filter = exts.pop
return content unless filter
result = run_ext(filter, content, options)
run(exts,result, options)
end

Expand Down
2 changes: 1 addition & 1 deletion lib/flue/middleware.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def initialize(app, watcher, renderer)

def call(env)
file = File.basename(env['PATH_INFO'])
basefile = renderer.basefiles.detect{|f| f.outfile_basename == file }
basefile = renderer.basefiles.detect{|basefile| basefile.outfile_basename == file }
if basefile && watcher.changes.include?(basefile.filename)
renderer.render_file(basefile)
end
Expand Down
6 changes: 1 addition & 5 deletions lib/flue/renderer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,7 @@ def render_files
def render_file(basefile)
open(basefile.outfile_name, "w") do |f|
benchmark "#{basefile.basename} => #{basefile.outfile_name}" do
options = {}
data = basefile.datafile
if data
options[:variables] = YAML.load(data)
end
options = {:variables => basefile.variables}
f.write filter_register.run(basefile.exts, basefile.content, options)
end
end
Expand Down
15 changes: 14 additions & 1 deletion spec/basefile_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
md_erb.datafile_name.must_equal "site/test.yml"
end

it "should have a datafile_name" do
it "should have a datafile contents" do
test_data = "test data"
File.stub :exists?, true do
File.stub :read, test_data do
Expand All @@ -49,6 +49,19 @@
end
end

it "should return datafile variables" do
test_data = <<-eos
---
foo: bar
eos
File.stub :exists?, true do
File.stub :read, test_data do
md_erb.variables.must_equal "foo" => "bar"
end
end

end

it "should not have test data when file does not exist" do
File.stub :exists?, false do
md_erb.datafile.must_equal nil
Expand Down

0 comments on commit b9bb1e8

Please sign in to comment.