mirror of
https://github.com/moparisthebest/android.moparisthebest.org
synced 2024-11-16 06:05:00 -05:00
Merge pull request #1022 from gkarekinian/patch-2
Fixed configuration overriding
This commit is contained in:
commit
7265683c33
5
Rakefile
5
Rakefile
@ -9,6 +9,7 @@ require 'rake/minify'
|
|||||||
require 'time'
|
require 'time'
|
||||||
require 'yaml'
|
require 'yaml'
|
||||||
require 'octopress'
|
require 'octopress'
|
||||||
|
require 'rake/testtask'
|
||||||
|
|
||||||
### Configuring Octopress:
|
### Configuring Octopress:
|
||||||
### Under _config/ you will find:
|
### Under _config/ you will find:
|
||||||
@ -525,3 +526,7 @@ task :list do
|
|||||||
puts "Tasks: #{(Rake::Task.tasks - [Rake::Task[:list]]).join(', ')}"
|
puts "Tasks: #{(Rake::Task.tasks - [Rake::Task[:list]]).join(', ')}"
|
||||||
puts "(type rake -T for more detail)\n\n"
|
puts "(type rake -T for more detail)\n\n"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Rake::TestTask.new do |t|
|
||||||
|
t.pattern = "spec/**/*_spec.rb"
|
||||||
|
end
|
||||||
|
@ -2,8 +2,10 @@ require 'yaml'
|
|||||||
|
|
||||||
module Octopress
|
module Octopress
|
||||||
module Configuration
|
module Configuration
|
||||||
|
CONFIG_DIR = File.join(File.dirname(__FILE__), '../', '../' '_config')
|
||||||
|
|
||||||
def self.config_dir(*subdirs)
|
def self.config_dir(*subdirs)
|
||||||
File.absolute_path(File.join(File.dirname(__FILE__), '../', '../' '_config', *subdirs))
|
File.absolute_path(File.join(CONFIG_DIR, *subdirs))
|
||||||
end
|
end
|
||||||
|
|
||||||
# Static: Reads the configuration of the specified file
|
# Static: Reads the configuration of the specified file
|
||||||
@ -55,7 +57,7 @@ module Octopress
|
|||||||
Dir.glob(self.config_dir('*.yml')) do |filename|
|
Dir.glob(self.config_dir('*.yml')) do |filename|
|
||||||
file_yaml = YAML.load(File.read(filename))
|
file_yaml = YAML.load(File.read(filename))
|
||||||
unless file_yaml.nil?
|
unless file_yaml.nil?
|
||||||
configs = file_yaml.deep_merge(configs)
|
configs = configs.deep_merge(file_yaml)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
11
spec/fixtures/no_override/defaults/classic.yml
vendored
Normal file
11
spec/fixtures/no_override/defaults/classic.yml
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
# ------------------------------- #
|
||||||
|
# Classic Theme Configuration #
|
||||||
|
# ------------------------------- #
|
||||||
|
|
||||||
|
url: http://yoursite.com
|
||||||
|
title: My Octopress Blog
|
||||||
|
subtitle: A blogging framework for hackers.
|
||||||
|
author: Your Name
|
||||||
|
simple_search: http://google.com/search
|
||||||
|
description:
|
11
spec/fixtures/override/defaults/classic.yml
vendored
Normal file
11
spec/fixtures/override/defaults/classic.yml
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
# ------------------------------- #
|
||||||
|
# Classic Theme Configuration #
|
||||||
|
# ------------------------------- #
|
||||||
|
|
||||||
|
url: http://yoursite.com
|
||||||
|
title: My Octopress Blog
|
||||||
|
subtitle: A blogging framework for hackers.
|
||||||
|
author: Your Name
|
||||||
|
simple_search: http://google.com/search
|
||||||
|
description:
|
11
spec/fixtures/override/site.yml
vendored
Normal file
11
spec/fixtures/override/site.yml
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
# ------------------------------- #
|
||||||
|
# Classic Theme Configuration #
|
||||||
|
# ------------------------------- #
|
||||||
|
|
||||||
|
url: http://myownsite.com
|
||||||
|
title: My Octopress custom Blog
|
||||||
|
subtitle: "How did this get here? I'm not good with computers"
|
||||||
|
author: John Doe
|
||||||
|
simple_search: http://google.com/search
|
||||||
|
description:
|
42
spec/octopress/configuration_spec.rb
Normal file
42
spec/octopress/configuration_spec.rb
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
require 'minitest/autorun'
|
||||||
|
require_relative '../../lib/octopress'
|
||||||
|
|
||||||
|
describe Octopress::Configuration do
|
||||||
|
describe '.read_configuration' do
|
||||||
|
subject do
|
||||||
|
Octopress::Configuration.read_configuration
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "when no override" do
|
||||||
|
before do
|
||||||
|
Octopress::Configuration::CONFIG_DIR = File.join(File.dirname(__FILE__), '../', 'fixtures', 'no_override')
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns the default config with keys as symbols" do
|
||||||
|
expected_config = { :url => "http://yoursite.com",
|
||||||
|
:title => "My Octopress Blog",
|
||||||
|
:subtitle => "A blogging framework for hackers.",
|
||||||
|
:author => "Your Name",
|
||||||
|
:simple_search => "http://google.com/search",
|
||||||
|
:description => nil }
|
||||||
|
subject.must_equal expected_config
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "when override" do
|
||||||
|
before do
|
||||||
|
Octopress::Configuration::CONFIG_DIR = File.join(File.dirname(__FILE__), '../', 'fixtures', 'override')
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns the default config with keys as symbols" do
|
||||||
|
expected_config = { :url => "http://myownsite.com",
|
||||||
|
:title => "My Octopress custom Blog",
|
||||||
|
:subtitle => "How did this get here? I'm not good with computers",
|
||||||
|
:author => "John Doe",
|
||||||
|
:simple_search => "http://google.com/search",
|
||||||
|
:description => nil }
|
||||||
|
subject.must_equal expected_config
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user