baron 1.0.8 → 1.0.9

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.8
1
+ 1.0.9
data/baron.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "baron"
8
- s.version = "1.0.8"
8
+ s.version = "1.0.9"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Nathan Buggia"]
@@ -44,6 +44,7 @@ Gem::Specification.new do |s|
44
44
  "spec/sample_data/resources/feed.rss",
45
45
  "spec/sample_data/resources/redirects.txt",
46
46
  "spec/sample_data/resources/robots.txt",
47
+ "spec/sample_data/supplemental-files/theme_config.yml",
47
48
  "spec/sample_data/themes/typography/css/app.css",
48
49
  "spec/sample_data/themes/typography/css/bootstrap-responsive.css",
49
50
  "spec/sample_data/themes/typography/css/bootstrap-responsive.min.css",
data/lib/baron.rb CHANGED
@@ -102,6 +102,7 @@ module Baron
102
102
  params = {:page_name => route.first, :rss_feed => get_feed_path}
103
103
  params[:page_title] = (route.first == @config[:root] ? '' : "#{route.first.capitalize} #{@config[:title_delimiter]} ") + "#{@config[:title]}"
104
104
  theme = Theme.new(@config)
105
+ theme.load_config
105
106
 
106
107
  begin
107
108
 
@@ -232,20 +233,10 @@ module Baron
232
233
  get_all_categories.each { |h| return true if h[:node_name] == path_node }
233
234
  return false
234
235
  end
235
-
236
- def load_theme_config filename_and_path
237
- bar = {}
238
- metadata = File.read(filename_and_path)
239
- YAML.load(metadata).each_pair { |key, value| bar[key.downcase.to_sym] = value }
240
- bar
241
- rescue Errno::ENOENT => e
242
- return {}
243
- end
244
236
 
245
237
  def get_pages_path() "#{@config[:sample_data_path]}pages/" end
246
238
  def get_articles_path() "#{@config[:sample_data_path]}articles" end
247
239
  def get_page_template(name) "#{@config[:sample_data_path]}pages/#{name}.rhtml" end
248
- def get_theme_template(name) "#{@config[:sample_data_path]}themes/#{@config[:theme]}/templates/#{name}.rhtml" end
249
240
  def get_system_resource(name) "#{@config[:sample_data_path]}resources/#{name}" end
250
241
  def get_feed_path() "#{@config[:url]}/feed.rss" end
251
242
  end
@@ -256,12 +247,13 @@ module Baron
256
247
  self[:root] = "/themes/#{config[:theme]}"
257
248
  self[:name] = config[:theme]
258
249
  self[:file_root] = "#{@config[:sample_data_path]}themes/#{@config[:theme]}".squeeze('/')
259
- load_config("#{self[:file_root]}/theme_config.yml")
250
+ self[:theme_config] = "#{self[:file_root]}/theme_config.yml".squeeze('/')
260
251
  end
261
252
 
262
- def load_config filename_and_path
263
- metadata = File.read(filename_and_path)
264
- YAML.load(metadata).each_pair { |key, value| self[key.downcase.to_sym] = value }
253
+ def load_config filename_and_path = ''
254
+ filename_and_path = filename_and_path.empty? ? self[:theme_config] : filename_and_path
255
+ params = YAML.load(File.read(filename_and_path))
256
+ params.each_pair { |key, value| self[key.downcase.to_sym] = value } unless !params
265
257
  rescue Errno::ENOENT => e
266
258
  puts "Warning: unable to load config file : " + filename_and_path
267
259
  end
@@ -9,6 +9,7 @@ describe "Baron::Theme" do
9
9
  before :all do
10
10
  @config = load_config()
11
11
  @theme = Baron::Theme.new(@config)
12
+ @theme.load_config()
12
13
  end
13
14
 
14
15
  it "finds all parameters in theme_config.yml" do
@@ -26,4 +27,12 @@ describe "Baron::Theme" do
26
27
  @theme.get_template('home').should == SAMPLE_DATA_PATH + 'themes/typography/templates/home.rhtml'
27
28
  @theme.get_template('layout').should == SAMPLE_DATA_PATH + 'themes/typography/templates/layout.rhtml'
28
29
  end
30
+
31
+ it "doesn't crash with a bad or empty config file" do
32
+ theme = Baron::Theme.new({})
33
+ theme.load_config("#{SAMPLE_DATA_PATH}supplemental-files/theme_config.yml")
34
+ theme.length.should == 4
35
+ theme.load_config("FOOBAR-FAKE-URL-FAKE-FAKE")
36
+ theme.length.should == 4
37
+ end
29
38
  end
@@ -0,0 +1,5 @@
1
+ ###
2
+ # Theme Config File
3
+ #
4
+ # sample config file with no variables. Need to make sure this doesn't crash the app
5
+ #
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: baron
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -81,6 +81,7 @@ files:
81
81
  - spec/sample_data/resources/feed.rss
82
82
  - spec/sample_data/resources/redirects.txt
83
83
  - spec/sample_data/resources/robots.txt
84
+ - spec/sample_data/supplemental-files/theme_config.yml
84
85
  - spec/sample_data/themes/typography/css/app.css
85
86
  - spec/sample_data/themes/typography/css/bootstrap-responsive.css
86
87
  - spec/sample_data/themes/typography/css/bootstrap-responsive.min.css