yacht 0.2.0 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -55,17 +55,57 @@ First create two (or more) YAML files in the same directory to define your setti
55
55
  production:
56
56
  cdn_host: localhost
57
57
 
58
- === Step 2: Use Yacht.my_key or Yacht['my_key']
58
+ === Step 2: Use Yacht.my_key or Yacht['my_key'] in ruby
59
59
 
60
60
  * <b>Rails</b>:
61
61
  # now you can access any key set in your YAML files with:
62
- # Yacht.my_key
62
+ Yacht.my_key
63
+ # => "my_value"
63
64
 
64
65
  * Outside of rails, you need to tell +Yacht+ where your YAML files are stored, and what environment you want to use.
65
66
  Yacht::Loader.dir = '/path/to/YAML/dir'
66
67
  Yacht::Loader.environment = 'my_environment'
67
68
  Yacht.my_key
68
69
 
70
+
71
+ == Other features
72
+
73
+ === Yacht::Loader.to_js_snippet export to javascript
74
+ If you would like to access values stored in Yacht inside of javascript, there is a helper for that. First, create a YAML file to tell Yacht which keys should be exported:
75
+
76
+ # config/yacht/base_keys.yml
77
+ # only keys listed here will be available in javascript
78
+ # remember that any values exported to javascript will be visible to all visitors to your site
79
+ - cookie_domain
80
+
81
+ Then use Yacht::Loader#to_js_snippet to create a string that can be eval'd or included in the DOM:
82
+
83
+ Yacht::Loader.to_js_snippet
84
+ # => ";var Yacht = {\"cookie_domain\":\"example.com\"};"
85
+
86
+ You can also add in extra values from outside of Yacht using the :merge option, like so:
87
+
88
+ Yacht::Loader.to_js_snippet(:merge => {:current_time => Time.now.to_s})
89
+ # => ";var Yacht = {\"cookie_domain\":\"example.com\",\"current_time\":\"06/29/2011\"};"
90
+
91
+
92
+ === yacht_js_snippet Rails helper
93
+
94
+ When using Yacht inside of a Rails application, you can use the yacht_js_snippet method to wrap the string from Yacht::Loader#to_js_snippet in a script tag using Rails' javascript_tag helper.
95
+
96
+ Yacht.rails_env
97
+ # => "development" # Yacht automatically adds the current Rails environment in ruby
98
+ # If you want rails_env included in javascript, just add it to js_keys.yml
99
+
100
+ # inside a view or helper:
101
+ yacht_js_snippet
102
+ # => "<script type=\"text/javascript\">\n//<![CDATA[\n;var Yacht = {\"cookie_domain\":\"localhost\",\"rails_env\":\"development\"};\n//]]>\n</script>"
103
+
104
+ # you can also pass options to yacht_js_snippet:
105
+ yacht_js_snippet(:merge => {:current_time => Time.now.to_s})
106
+ # => "<script type=\"text/javascript\">\n//<![CDATA[\n;var Yacht = {\"cookie_domain\":\"localhost\",\"rails_env\":\"development\",\"current_time\":\"06/29/2011\"};\n//]]>\n</script>"
107
+
108
+
69
109
  == License
70
110
 
71
111
  Yacht is licensed under the MIT License with one addition: The Software shall be used for Good, not Evil.
@@ -4,7 +4,7 @@ Feature: Load configuration settings
4
4
  I want to load configuration settings from an external source like a YAML file
5
5
 
6
6
  Background:
7
- Given a file named "base.yml" with:
7
+ Given a file named "yacht/base.yml" with:
8
8
  """
9
9
  default:
10
10
  :api_key: some_fake_key
@@ -24,6 +24,7 @@ Feature: Load configuration settings
24
24
  host: example.com
25
25
  reply-to: info@example.com
26
26
  """
27
+ And I set Yacht's YAML directory to: "yacht"
27
28
 
28
29
  Scenario: Load from YAML
29
30
  When I load Yacht with environment: "development"
@@ -43,7 +44,7 @@ Feature: Load configuration settings
43
44
  """
44
45
 
45
46
  Scenario: Local overrides with local.yml
46
- Given a file named "local.yml" with:
47
+ Given a file named "yacht/local.yml" with:
47
48
  """
48
49
  :api_key: some_crazy_local_key
49
50
  """
@@ -64,7 +65,7 @@ Feature: Load configuration settings
64
65
  """
65
66
 
66
67
  Scenario: Whitelisting with whitelist.yml
67
- Given a file named "whitelist.yml" with:
68
+ Given a file named "yacht/whitelist.yml" with:
68
69
  """
69
70
  - :partner_sites
70
71
  """
@@ -77,4 +78,16 @@ Feature: Load configuration settings
77
78
  'github'
78
79
  ]
79
80
  }
80
- """
81
+ """
82
+
83
+ @js
84
+ Scenario: Generate a Yacht.js file
85
+ Given a file named "yacht/js_keys.yml" with:
86
+ """
87
+ - :partner_sites
88
+ """
89
+ When I use Yacht to generate a javascript snippet with environment: "development"
90
+ Then the javascript snippet should contain:
91
+ """
92
+ ;var Yacht = {"partner_sites":["twitter","github"]};
93
+ """
@@ -3,28 +3,29 @@ Feature: Handle missing YAML files reasonably
3
3
  Missing YAML files should cause an error to be raised when reasonable
4
4
 
5
5
  Background:
6
- Given a file named "base.yml" with:
6
+ Given a file named "yacht/base.yml" with:
7
7
  """
8
8
  development:
9
9
  api_key: some_fake_key
10
10
  """
11
+ And I set Yacht's YAML directory to: "yacht"
11
12
 
12
13
  Scenario: No base.yml
13
- Given a file named "base.yml" does not exist
14
+ Given a file named "yacht/base.yml" does not exist
14
15
  When I try to use Yacht
15
16
  Then Yacht should raise an error with message: "Couldn't load base config"
16
17
 
17
18
  Scenario: No local.yml
18
- Given a file named "local.yml" does not exist
19
+ Given a file named "yacht/local.yml" does not exist
19
20
  When I try to use Yacht
20
21
  Then Yacht should not raise an error
21
22
 
22
23
  Scenario: No whitelist.yml but whitelist not used
23
- Given a file named "whitelist.yml" does not exist
24
+ Given a file named "yacht/whitelist.yml" does not exist
24
25
  When I try to use Yacht
25
26
  Then Yacht should not raise an error
26
27
 
27
28
  Scenario: No whitelist.yml and whitelist used
28
- Given a file named "whitelist.yml" does not exist
29
+ Given a file named "yacht/whitelist.yml" does not exist
29
30
  When I try to use Yacht with a whitelist
30
31
  Then Yacht should raise an error with message: "Couldn't load whitelist"
@@ -2,4 +2,9 @@ Given /^a file named "([^"]*)" does not exist$/ do |file_name|
2
2
  in_current_dir do
3
3
  FileUtils.rm(file_name) if File.file?(file_name)
4
4
  end
5
+ end
6
+
7
+ # Stock Aruba step definition doesn't recognize triple-quoted multiline strings
8
+ Then /^the file "([^"]*)" should contain:$/ do |file, exact_content|
9
+ check_exact_file_content(file, exact_content)
5
10
  end
@@ -0,0 +1,4 @@
1
+ Then /^debugger$/ do
2
+ debugger
3
+ nil
4
+ end
@@ -16,7 +16,6 @@ module ErrorHandlingHelpers
16
16
  # If an error is raised, return it instead
17
17
  def use_yacht(whitelist=false)
18
18
  in_current_dir do
19
- Yacht::Loader.dir = '.'
20
19
  Yacht::Loader.environment = 'development'
21
20
  Yacht::Loader.to_classy_struct(:apply_whitelist? => whitelist)
22
21
  end
@@ -0,0 +1,9 @@
1
+ When /^I use Yacht to generate a javascript snippet with environment: "([^"]*)"$/ do |env|
2
+ in_current_dir do
3
+ @js_snippet = Yacht::Loader.to_js_snippet(:env => env)
4
+ end
5
+ end
6
+
7
+ Then /^the javascript snippet should contain:$/ do |string|
8
+ @js_snippet.should == string
9
+ end
@@ -1,6 +1,11 @@
1
+ Given /^I set Yacht's YAML directory to: "([^"]*)"$/ do |dir|
2
+ in_current_dir do
3
+ Yacht::Loader.dir = dir
4
+ end
5
+ end
6
+
1
7
  When /^I define the constant "([^"]*)" with environment: "([^"]*)"( using a whitelist)?$/ do |constant_name, env, whitelist|
2
8
  in_current_dir do
3
- Yacht::Loader.dir = '.'
4
9
  Yacht::Loader.environment = env
5
10
  Object.const_set( constant_name, Yacht::Loader.to_classy_struct(:apply_whitelist? => whitelist ) )
6
11
  end
@@ -15,7 +20,6 @@ Then /^the constant "([^"]*)" should contain the following hash:$/ do |constant_
15
20
  end
16
21
 
17
22
  When /^I load Yacht with environment: "([^"]*)"$/ do |env|
18
- Yacht::Loader.dir = '.'
19
23
  Yacht::Loader.environment = env
20
24
  end
21
25
 
@@ -1,4 +1,5 @@
1
1
  $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
2
 
3
3
  require 'aruba/cucumber'
4
- require 'yacht'
4
+ require 'yacht'
5
+ require 'ruby-debug'
@@ -0,0 +1,17 @@
1
+ module Yacht::RailsHelper
2
+ # Create a string with a javascript version of Yacht values intended for inclusion in an HTML page
3
+ #
4
+ # @note environment will be set to Rails.env by default
5
+ #
6
+ # @example Set custom environment
7
+ # yacht_js_snippet(:env => 'local_development')
8
+ # # => "<script type=\"text/javascript\">;var Yacht = {\"foo\":\"bar\"};</script>"
9
+ def yacht_js_snippet(opts={})
10
+ javascript_tag Yacht::Loader.to_js_snippet(opts)
11
+ end
12
+ end
13
+
14
+ # TODO: use a Railtie to do this Rails-3-style
15
+ module ApplicationHelper
16
+ include Yacht::RailsHelper
17
+ end
data/lib/yacht/base.rb CHANGED
@@ -3,10 +3,12 @@ class Yacht < BasicObject
3
3
  end
4
4
 
5
5
  class << self
6
+ # Return value for key retrieved from Yacht::Loader.to_hash
6
7
  def [](key)
7
8
  self._hash[key]
8
9
  end
9
10
 
11
+ # Return a hash with all values for current environment
10
12
  def _hash
11
13
  @_hash ||= Loader.to_hash
12
14
  end
@@ -0,0 +1,21 @@
1
+ require 'json'
2
+
3
+ class Yacht::Loader
4
+ class << self
5
+ # Returns a string snippet that can be eval'd in javascript
6
+ # or included in the DOM
7
+ # @param [Hash] opts the options to pass to to_hash
8
+ # @option opts [Hash] :merge ({}) hash to be merged into to_hash
9
+ def to_js_snippet(opts={})
10
+ hash_to_merge = opts.delete(:merge) || {}
11
+ hash = to_hash(opts).slice(*js_keys).merge(hash_to_merge)
12
+ ";var Yacht = #{hash.to_json};"
13
+ end
14
+
15
+ def js_keys
16
+ load_config_file(:js_keys, :expect_to_load => Array) || begin
17
+ raise Yacht::LoadError.new("Couldn't load js_keys")
18
+ end
19
+ end
20
+ end
21
+ end
data/lib/yacht/loader.rb CHANGED
@@ -7,12 +7,11 @@ class Yacht::Loader
7
7
  end
8
8
  attr_writer :environment
9
9
 
10
- def dir
11
- @dir ||= File.join( File.dirname(__FILE__), 'yacht')
12
- end
13
- attr_writer :dir
10
+ attr_accessor :dir
14
11
 
15
12
  def full_file_path_for_config(config_type)
13
+ raise Yacht::LoadError.new "No directory set" unless dir
14
+
16
15
  File.join( self.dir, "#{config_type}.yml" )
17
16
  end
18
17
 
@@ -23,13 +22,16 @@ class Yacht::Loader
23
22
  end
24
23
 
25
24
  def valid_config_types
26
- %w( base local whitelist )
25
+ %w( base local whitelist js_keys )
27
26
  end
28
27
 
29
28
  def all
30
29
  chain_configs(base_config, self.environment).deep_merge(local_config)
31
30
  end
32
31
 
32
+ # @param [Hash] opts the options for creating the hash
33
+ # @option opts [String] :env environment to use from base.yml
34
+ # @option opts [Boolean] :apply_whitelist? (false) only include keys in whitelist.yml
33
35
  def to_hash(opts={})
34
36
  opts[:apply_whitelist?] ||= false unless opts.has_key?(:apply_whitelist?)
35
37
  self.environment = opts[:env] if opts.has_key?(:env)
data/lib/yacht/rails.rb CHANGED
@@ -12,5 +12,12 @@ class Yacht::Loader
12
12
  def full_file_path_for_config(config_type)
13
13
  dir.join("#{config_type}.yml")
14
14
  end
15
+
16
+ # Add current Rails environment to defined keys
17
+ def all_with_rails_env
18
+ all_without_rails_env.merge('rails_env' => Rails.env)
19
+ end
20
+ alias_method_chain :all, :rails_env
21
+
15
22
  end
16
23
  end
data/lib/yacht/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Yacht < BasicObject
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.5"
3
3
  end
data/lib/yacht.rb CHANGED
@@ -1,7 +1,14 @@
1
+ require "yacht/version"
2
+
3
+ require 'monkeypatches/hash'
4
+
1
5
  require "yacht/base"
2
6
  require "yacht/loader"
3
- require "yacht/classy_struct"
4
- require "yacht/version"
5
7
 
6
- require "yacht/rails" if Object.const_defined?(:Rails)
7
- require 'monkeypatches/hash'
8
+ if Object.const_defined?(:Rails)
9
+ require "yacht/rails"
10
+ require "monkeypatches/rails_helper"
11
+ end
12
+
13
+ require "yacht/classy_struct"
14
+ require "yacht/javascript"
@@ -0,0 +1,47 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'Yacht::RailsHelper' do
4
+ let(:mock_js_string) {
5
+ ';var Yacht = {"foo":"bar"};'
6
+ }
7
+
8
+ # need a dummy class to test out the Yacht::RailsHelper module
9
+ let(:dummy_class) {
10
+ class DummyClass
11
+ end
12
+ DummyClass
13
+ }
14
+
15
+ let(:dummy_instance) {
16
+ dummy_class.new
17
+ }
18
+
19
+ before do
20
+ Rails = stub('Rails')
21
+
22
+ require "monkeypatches/rails_helper"
23
+
24
+ dummy_class.send(:include, Yacht::RailsHelper)
25
+ end
26
+
27
+ describe :yacht_js_snippet do
28
+ it "should use javascript_tag to create a snippet using the current Rails environment by default" do
29
+ Yacht::Loader.stub(:to_js_snippet).and_return(mock_js_string)
30
+ dummy_instance.should_receive(:javascript_tag).with(mock_js_string)
31
+
32
+ dummy_instance.yacht_js_snippet
33
+ end
34
+
35
+ it "should pass options to Yacht::Loader#to_js_snippet" do
36
+ dummy_instance.stub(:javascript_tag).as_null_object
37
+
38
+ Yacht::Loader.should_receive(:to_js_snippet).with(:foo => 'bar').and_return("")
39
+
40
+ dummy_instance.yacht_js_snippet(:foo => 'bar')
41
+ end
42
+
43
+ it "should add yacht_js_snippet to ApplicationHelper" do
44
+ ApplicationHelper.should <= Yacht::RailsHelper
45
+ end
46
+ end
47
+ end
@@ -51,7 +51,6 @@ describe Yacht::Loader do
51
51
  end
52
52
 
53
53
  describe Yacht do
54
- subject { Yacht }
55
54
  after do
56
55
  Yacht.instance_variable_set(:@_hash, nil)
57
56
  Yacht.instance_variable_set(:@_classy_struct, nil)
@@ -0,0 +1,48 @@
1
+ require 'spec_helper'
2
+
3
+ describe Yacht::Loader do
4
+ subject{ Yacht::Loader }
5
+
6
+ let(:mock_js_string) {
7
+ ';var Yacht = {"foo":"bar"};'
8
+ }
9
+
10
+ describe :to_js_snippet do
11
+ it "should export Yacht values to a javascript file" do
12
+ subject.stub(:all).and_return(:foo => 'bar')
13
+ subject.stub(:js_keys).and_return(:foo)
14
+
15
+ subject.to_js_snippet.should == ';var Yacht = {"foo":"bar"};'
16
+ end
17
+
18
+ it "should only export values defined in javascript.yml" do
19
+ subject.stub(:to_hash).and_return(:foo => 'bar', :baz => 'snafu')
20
+ subject.stub(:js_keys).and_return(:baz)
21
+
22
+ subject.to_js_snippet.should == ';var Yacht = {"baz":"snafu"};'
23
+ end
24
+
25
+ it "merges the hash passed with :merge" do
26
+ subject.stub(:to_hash).and_return(:foo => 'bar', :baz => 'snafu')
27
+ subject.stub(:js_keys).and_return(:baz)
28
+
29
+ subject.to_js_snippet(:merge => {:request_id => 123}).should == ';var Yacht = {"baz":"snafu","request_id":123};'
30
+ end
31
+ end
32
+
33
+ describe :js_keys do
34
+ it "raises an error if load_config_file returns nil" do
35
+ subject.stub(:load_config_file).with(:js_keys, :expect_to_load => Array).and_return(nil)
36
+
37
+ expect {
38
+ subject.js_keys
39
+ }.to raise_error( Yacht::LoadError, "Couldn't load js_keys")
40
+ end
41
+
42
+ it "expects load_config_file to return an Array" do
43
+ subject.should_receive(:load_config_file).with(:js_keys, :expect_to_load => Array).and_return([])
44
+
45
+ subject.js_keys
46
+ end
47
+ end
48
+ end
@@ -16,6 +16,9 @@ describe Yacht::Loader do
16
16
  }
17
17
  end
18
18
 
19
+ describe :dir do
20
+ end
21
+
19
22
  describe :to_hash do
20
23
  before do
21
24
  subject.stub(:base_config).and_return(mock_base_config)
@@ -96,6 +99,7 @@ describe Yacht::Loader do
96
99
  :color_of_the_day => 'purple',
97
100
  }
98
101
  })
102
+ subject.stub(:local_config).and_return({})
99
103
 
100
104
  subject.environment = 'wacky'
101
105
  subject.to_hash[:color_of_the_day].should == 'purple'
@@ -198,7 +202,37 @@ describe Yacht::Loader do
198
202
  subject.send(:load_config_file, :foo, :expect_to_load => Array)
199
203
  }.to raise_error( Yacht::LoadError, "foo_file must contain Array (got Hash)" )
200
204
  end
205
+ end
206
+
207
+ describe :_load_config_file do
208
+ it "returns nil if file does not exist" do
209
+ File.stub(:exists?).with('some_file').and_return(false)
210
+ subject.send(:_load_config_file, 'some_file').should be_nil
211
+ end
212
+
213
+ it "opens the file using YAML.load if the file exists" do
214
+ File.stub(:exists?).with('some_file').and_return(true)
215
+ File.stub(:read).with('some_file').and_return('some contents')
216
+ YAML.should_receive(:load).with('some contents')
217
+
218
+ subject.send(:_load_config_file, 'some_file')
219
+ end
220
+ end
221
+
222
+ describe :full_file_path_for_config do
223
+ it "raises an error if dir is blank" do
224
+ subject.stub(:dir).and_return(nil)
225
+
226
+ expect {
227
+ subject.full_file_path_for_config(:base)
228
+ }.to raise_error( Yacht::LoadError, "No directory set" )
229
+ end
201
230
 
231
+ it "returns the full path to the YAML file for the given config type" do
232
+ subject.stub(:dir).and_return('/full/path')
233
+
234
+ subject.full_file_path_for_config(:foo).should == '/full/path/foo.yml'
235
+ end
202
236
  end
203
237
 
204
238
  context "checks environment and sets sensible defaults" do
@@ -4,18 +4,17 @@ describe "Rails support" do
4
4
  subject { Yacht::Loader }
5
5
 
6
6
  before do
7
+ Rails = stub("Rails")
8
+ Object.stub(:alias_method_chain).as_null_object
7
9
  require "yacht/rails"
8
10
  @yacht_dir = "/path/to/rails/config/yacht"
9
11
  end
10
12
 
11
13
  describe :environment do
12
- before do
13
- Rails = stub("Rails")
14
- end
15
14
  it "uses the current rails environment by default" do
16
- Rails.should_receive(:env)
15
+ Rails.should_receive(:env).and_return('awesome')
17
16
 
18
- subject.environment
17
+ subject.environment.should == 'awesome'
19
18
  end
20
19
  end
21
20
 
@@ -36,4 +35,18 @@ describe "Rails support" do
36
35
  subject.full_file_path_for_config("some")
37
36
  end
38
37
  end
38
+
39
+ describe :all_with_rails_env do
40
+ it "adds the current Rails environment to super" do
41
+ subject.stub(:all_without_rails_env).and_return(:foo => :bar)
42
+
43
+ Rails.stub(:env).and_return(:awesome)
44
+ subject.all_with_rails_env.should == {:foo => :bar, 'rails_env' => :awesome}
45
+ end
46
+
47
+ it "aliases all to all_without_rails_env" do
48
+ Object.should_receive(:alias_method_chain).with(:all, :rails_env)
49
+ load "yacht/rails.rb"
50
+ end
51
+ end
39
52
  end
data/yacht.gemspec CHANGED
@@ -16,14 +16,16 @@ Gem::Specification.new do |s|
16
16
  s.platform = Gem::Platform::RUBY
17
17
 
18
18
  s.add_dependency "classy_struct", ">= 0.3.2"
19
+ s.add_dependency "json"
19
20
 
20
- s.add_development_dependency "gherkin", '~> 2.3.0'
21
+ s.add_development_dependency "gherkin", '>= 2.4.0'
21
22
  s.add_development_dependency "cucumber", '>= 0.10.0'
22
23
  s.add_development_dependency 'aruba'
23
24
  s.add_development_dependency "rspec", '>= 2.6.0'
24
25
  s.add_development_dependency "simplecov", '>= 0.4.1'
25
26
 
26
27
 
28
+
27
29
  s.required_rubygems_version = ">= 1.3.7"
28
30
  s.files = `git ls-files`.split("\n")
29
31
  s.test_files = `git ls-files -- spec/*`.split("\n")
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: yacht
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.2.0
5
+ version: 0.2.5
6
6
  platform: ruby
7
7
  authors:
8
8
  - Mani Tadayon
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2011-06-16 00:00:00 -07:00
14
+ date: 2011-06-29 00:00:00 -07:00
15
15
  default_executable:
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
@@ -26,60 +26,71 @@ dependencies:
26
26
  type: :runtime
27
27
  version_requirements: *id001
28
28
  - !ruby/object:Gem::Dependency
29
- name: gherkin
29
+ name: json
30
30
  prerelease: false
31
31
  requirement: &id002 !ruby/object:Gem::Requirement
32
32
  none: false
33
33
  requirements:
34
- - - ~>
34
+ - - ">="
35
35
  - !ruby/object:Gem::Version
36
- version: 2.3.0
37
- type: :development
36
+ version: "0"
37
+ type: :runtime
38
38
  version_requirements: *id002
39
39
  - !ruby/object:Gem::Dependency
40
- name: cucumber
40
+ name: gherkin
41
41
  prerelease: false
42
42
  requirement: &id003 !ruby/object:Gem::Requirement
43
43
  none: false
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 0.10.0
47
+ version: 2.4.0
48
48
  type: :development
49
49
  version_requirements: *id003
50
50
  - !ruby/object:Gem::Dependency
51
- name: aruba
51
+ name: cucumber
52
52
  prerelease: false
53
53
  requirement: &id004 !ruby/object:Gem::Requirement
54
54
  none: false
55
55
  requirements:
56
56
  - - ">="
57
57
  - !ruby/object:Gem::Version
58
- version: "0"
58
+ version: 0.10.0
59
59
  type: :development
60
60
  version_requirements: *id004
61
61
  - !ruby/object:Gem::Dependency
62
- name: rspec
62
+ name: aruba
63
63
  prerelease: false
64
64
  requirement: &id005 !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 2.6.0
69
+ version: "0"
70
70
  type: :development
71
71
  version_requirements: *id005
72
72
  - !ruby/object:Gem::Dependency
73
- name: simplecov
73
+ name: rspec
74
74
  prerelease: false
75
75
  requirement: &id006 !ruby/object:Gem::Requirement
76
76
  none: false
77
77
  requirements:
78
78
  - - ">="
79
79
  - !ruby/object:Gem::Version
80
- version: 0.4.1
80
+ version: 2.6.0
81
81
  type: :development
82
82
  version_requirements: *id006
83
+ - !ruby/object:Gem::Dependency
84
+ name: simplecov
85
+ prerelease: false
86
+ requirement: &id007 !ruby/object:Gem::Requirement
87
+ none: false
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: 0.4.1
92
+ type: :development
93
+ version_requirements: *id007
83
94
  description: Yacht is Yet Another Configuration Helper Tool.
84
95
  email:
85
96
  - mtadayon@atti.com
@@ -103,22 +114,28 @@ files:
103
114
  - features/load.feature
104
115
  - features/missing_yaml_files.feature
105
116
  - features/step_definitions/aruba_extension_steps.rb
117
+ - features/step_definitions/debugger_steps.rb
106
118
  - features/step_definitions/error_handling_steps.rb
119
+ - features/step_definitions/javascript_steps.rb
107
120
  - features/step_definitions/loader_steps.rb
108
121
  - features/support/cleanup.rb
109
122
  - features/support/env.rb
110
123
  - gem_tasks/cucumber.rake
111
124
  - gem_tasks/spec.rake
112
125
  - lib/monkeypatches/hash.rb
126
+ - lib/monkeypatches/rails_helper.rb
113
127
  - lib/yacht.rb
114
128
  - lib/yacht/base.rb
115
129
  - lib/yacht/classy_struct.rb
130
+ - lib/yacht/javascript.rb
116
131
  - lib/yacht/loader.rb
117
132
  - lib/yacht/rails.rb
118
133
  - lib/yacht/version.rb
134
+ - spec/monkeypatches/rails_helper_spec.rb
119
135
  - spec/spec_helper.rb
120
136
  - spec/yacht/base_spec.rb
121
137
  - spec/yacht/classy_struct_spec.rb
138
+ - spec/yacht/javascript_spec.rb
122
139
  - spec/yacht/loader_spec.rb
123
140
  - spec/yacht/rails_spec.rb
124
141
  - yacht.gemspec
@@ -146,13 +163,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
163
  requirements: []
147
164
 
148
165
  rubyforge_project:
149
- rubygems_version: 1.3.9.1
166
+ rubygems_version: 1.3.9.2
150
167
  signing_key:
151
168
  specification_version: 3
152
- summary: yacht-0.2.0
169
+ summary: yacht-0.2.5
153
170
  test_files:
171
+ - spec/monkeypatches/rails_helper_spec.rb
154
172
  - spec/spec_helper.rb
155
173
  - spec/yacht/base_spec.rb
156
174
  - spec/yacht/classy_struct_spec.rb
175
+ - spec/yacht/javascript_spec.rb
157
176
  - spec/yacht/loader_spec.rb
158
177
  - spec/yacht/rails_spec.rb