remote_factory_girl 0.0.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 013ff8da4195f0fdd96f42fed7e582768da3979f
4
- data.tar.gz: b2604a88f6b432b72b50117f9206eff9a45fa0c4
3
+ metadata.gz: fc49d97c232bfdba862ab52c9eabe313d7a3012f
4
+ data.tar.gz: 644c676dc15e1da5935d545e5341e48a11773a56
5
5
  SHA512:
6
- metadata.gz: 6224e0239b03dec31d06efa4835937c4539724057926e00c11e4d76070741e5000b1ad93aea9c5f6dd8feed895ea6b9cf6797fe6fa5aac080201bb83956aaf7d
7
- data.tar.gz: ae06c058feccd7413e09d419a3f73222170d10c482ac9e212fde5daf63fbfd07b934274710ae510707aa899fca4e1bac2c6fd38018489fd4dd581b7a058aaac2
6
+ metadata.gz: 6e964470880d4c8fd4d091ccd92922deddd53bd0e0a21b65c2065fb25fa60c07ae3344806fe880d882586d71abb53d1bbf6f6b5e4707c2e9a082ef989ea4c13d
7
+ data.tar.gz: d3dfbb436a42441ede4fe8b745c8b3f29a27eb34a2914c91bf89ee16253d62778f906b5a161b70523cd7b2e43cfa31b0c582313b9e040226d0e2005287939c7a
data/Gemfile CHANGED
@@ -1,7 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'dish' # converts hash to objects with dot syntax
4
- gem 'virtus', '~> 1.0' # defining attributes on a model: strong typing like objects and defaults
5
4
  gem 'rest-client' # http
6
5
 
7
6
 
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # RemoteFactoryGirl
2
2
 
3
- [factory_girl](https://github.com/thoughtbot/factory_girl) for [Software Oriented Architecture](http://en.wikipedia.org/wiki/Service-oriented_architecture) (SOA). Create [factory_girl](https://github.com/thoughtbot/factory_girl) test data remotely when used in conjunction with [remote_factory_girl_home_rails](https://github.com/tdouce/remote_factory_girl_home_rails).
3
+ [factory_girl](https://github.com/thoughtbot/factory_girl) for [Service Oriented Architecture](http://en.wikipedia.org/wiki/Service-oriented_architecture) (SOA). Create [factory_girl](https://github.com/thoughtbot/factory_girl) test data remotely when used in conjunction with [remote_factory_girl_home_rails](https://github.com/tdouce/remote_factory_girl_home_rails).
4
4
 
5
5
  ## Getting Started
6
6
 
@@ -1,45 +1,41 @@
1
1
  require 'remote_factory_girl/exceptions'
2
- require 'virtus'
3
2
 
4
3
  module RemoteFactoryGirl
5
4
  class Config
6
- include Virtus.model
7
5
 
8
- DEFAULT_HOME_CONFIG = { :host => nil,
9
- :port => nil,
10
- :end_point => '/remote_factory_girl/home' }
6
+ attr_accessor :home, :return_response_as, :return_with_root, :return_as_active_resource, :https
11
7
 
12
- attribute :home, Hash, :default => DEFAULT_HOME_CONFIG
13
- attribute :return_response_as, Symbol, :default => :as_hash
14
- attribute :return_with_root, Boolean, :default => true
15
- attribute :return_as_active_resource, Boolean, :default => false
16
-
17
- def self.configure(configs)
18
- new(configs)
8
+ def initialize
9
+ @return_response_as = :as_hash
10
+ @return_with_root = true
11
+ @return_as_active_resource = false
12
+ @home = default_home_config
13
+ @https = false
19
14
  end
20
15
 
21
- def initialize(attrs = {})
22
- attrs[:home] = update_home_config(attrs)
23
- super(attrs)
16
+ def home=(home_config)
17
+ @home = home.merge(home_config)
24
18
  end
25
19
 
26
20
  def home_url
27
- raise_no_host_error
28
- http = 'http://'
21
+ raise_if_host_not_set
29
22
  if home[:port]
30
- "#{ http }#{ home.fetch(:host) }:#{ home.fetch(:port) }#{ home.fetch(:end_point) }"
23
+ "#{ hyper_text_transfer_protocal }://#{ home.fetch(:host) }:#{ home.fetch(:port) }#{ home.fetch(:end_point) }"
31
24
  else
32
- "#{ http }#{ home.fetch(:host) }#{ home.fetch(:end_point) }"
25
+ "#{ hyper_text_transfer_protocal }://#{ home.fetch(:host) }#{ home.fetch(:end_point) }"
33
26
  end
34
27
  end
35
28
 
36
29
  def to_hash
37
- raise_no_host_error
38
- super.merge(home_url: home_url)
30
+ { home: home,
31
+ home_url: home_url,
32
+ return_response_as: return_response_as,
33
+ return_with_root: return_with_root,
34
+ return_as_active_resource: return_as_active_resource }
39
35
  end
40
36
 
41
- def raise_no_host_error
42
- raise RemoteFactoryGirlConfigError.new("RemoteFactoryGirl.config.home[:host] can not be nil") unless has_home?
37
+ def raise_if_host_not_set
38
+ raise RemoteFactoryGirlConfigError.new('RemoteFactoryGirl.config.home[:host] and RemoteFactoryGirl.config.home[:end_point] can not be nil') unless has_home?
43
39
  end
44
40
 
45
41
  def has_home?
@@ -48,8 +44,14 @@ module RemoteFactoryGirl
48
44
 
49
45
  private
50
46
 
51
- def update_home_config(attrs)
52
- attrs[:home] = DEFAULT_HOME_CONFIG.merge(attrs.fetch(:home, {}))
47
+ def hyper_text_transfer_protocal
48
+ https == true ? 'https' : 'http'
49
+ end
50
+
51
+ def default_home_config
52
+ { :host => nil,
53
+ :port => nil,
54
+ :end_point => '/remote_factory_girl/home' }
53
55
  end
54
56
  end
55
57
  end
@@ -3,29 +3,34 @@ require 'rest-client'
3
3
  module RemoteFactoryGirl
4
4
  class Http
5
5
  def self.post(config, params, http_lib = RestClient)
6
- new(config, params, http_lib).response
6
+ new(config, params, http_lib).post
7
7
  end
8
8
 
9
- attr_reader :config, :params, :http_lib
9
+ def self.get(config, params, http_lib = RestClient)
10
+ new(config, params, http_lib).get
11
+ end
12
+
13
+ attr_reader :config, :params, :http_lib, :response_json
10
14
 
11
15
  def initialize(config, params, http_lib = RestClient)
16
+ config.raise_if_host_not_set
12
17
  @config = config
13
18
  @params = params
14
19
  @http_lib = http_lib
15
20
  end
16
21
 
17
- def response
18
- post
22
+ def get
23
+ @response_json = http_lib.get config.home_url, params.merge!(content_type: :json, accept: :json)
19
24
  self
20
25
  end
21
26
 
22
27
  def post
23
- config.raise_no_host_error
24
- @post ||= http_lib.post config.home_url, params, content_type: :json, accept: :json
28
+ @response_json = http_lib.post config.home_url, params, content_type: :json, accept: :json
29
+ self
25
30
  end
26
31
 
27
- def json
28
- @json ||= JSON.parse(post)
32
+ def to_hash
33
+ JSON.parse(response_json)
29
34
  end
30
35
  end
31
36
  end
@@ -1,3 +1,3 @@
1
1
  module RemoteFactoryGirl
2
- VERSION = "0.0.1"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -2,43 +2,42 @@ require "remote_factory_girl/version"
2
2
  require 'remote_factory_girl/config'
3
3
  require 'remote_factory_girl/http'
4
4
  require 'remote_factory_girl/config_applier'
5
- require 'remote_factory_girl/config_struct'
6
5
  require 'remote_factory_girl/hash_to_dot'
7
6
  require 'remote_factory_girl/json_to_active_resource'
8
7
 
9
8
  module RemoteFactoryGirl
10
9
  class RemoteFactoryGirl
11
10
 
12
- attr_reader :name, :attributes, :config
11
+ attr_reader :config, :response
13
12
 
14
- def initialize(name, attributes, config)
15
- @name = name
16
- @attributes = attributes
17
- @config = config
13
+ def initialize(config)
14
+ @config = config
18
15
  end
19
16
 
20
- def apply_config(config_applier = ConfigApplier)
21
- config_applier.apply_config(post.json, config.to_hash)
17
+ def create(factory, attributes = {}, http = Http)
18
+ @response ||= http.post(config, { factory: factory, attributes: attributes })
22
19
  end
23
20
 
24
- def post(http = Http)
25
- @post ||= http.post(config, params)
21
+ def factories(attributes = {}, http = Http)
22
+ @response ||= http.get(config, attributes)
26
23
  end
24
+ end
27
25
 
28
- def params
29
- { factory: name, attributes: attributes }
30
- end
26
+ def self.configure(config = Config, &block)
27
+ configuration = Config.new
28
+ yield(configuration)
29
+ self.config = configuration
31
30
  end
32
31
 
33
- def self.configure(opts = { :config_struct => ConfigStruct, :config => Config }, &block)
34
- config = opts.fetch(:config_struct).block_to_hash(block)
35
- self.config = opts.fetch(:config).configure(config)
32
+ def self.factories(params = {}, http = Http)
33
+ factory = RemoteFactoryGirl.new(config)
34
+ factory.factories(params, http).to_hash
36
35
  end
37
36
 
38
- def self.create(factory, attributes = {}, config_applier = ConfigApplier, http = Http)
39
- factory = RemoteFactoryGirl.new(factory, attributes, config)
40
- factory.post(http)
41
- factory.apply_config(config_applier)
37
+ def self.create(factory_name, attributes = {}, config_applier = ConfigApplier, http = Http)
38
+ factory = RemoteFactoryGirl.new(config)
39
+ factory.create(factory_name, attributes, http)
40
+ config_applier.apply_config(factory.response.to_hash, config.to_hash)
42
41
  end
43
42
 
44
43
  def self.config
@@ -21,7 +21,6 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency "bundler", "~> 1.5"
22
22
  spec.add_development_dependency "rake"
23
23
 
24
- spec.add_dependency 'virtus', '~> 1.0'
25
24
  spec.add_dependency 'dish'
26
25
  spec.add_dependency 'rest-client'
27
26
  end
@@ -6,12 +6,13 @@ describe RemoteFactoryGirl do
6
6
 
7
7
  describe 'configuration' do
8
8
  it 'should be configured with correct defaults' do
9
- expect(RemoteFactoryGirl.config.home).to eq({ :host => nil,
10
- :port => nil,
9
+ expect(RemoteFactoryGirl.config.home).to eq({ :host => nil,
10
+ :port => nil,
11
11
  :end_point => '/remote_factory_girl/home'})
12
- expect(RemoteFactoryGirl.config.return_response_as).to eq(:as_hash)
13
- expect(RemoteFactoryGirl.config.return_with_root).to be_true
12
+ expect(RemoteFactoryGirl.config.return_response_as).to eq(:as_hash)
13
+ expect(RemoteFactoryGirl.config.return_with_root).to be_true
14
14
  expect(RemoteFactoryGirl.config.return_as_active_resource).to be_false
15
+ expect(RemoteFactoryGirl.config.https).to be_false
15
16
  end
16
17
 
17
18
  it 'should be able to configure with a block' do
@@ -23,8 +24,8 @@ describe RemoteFactoryGirl do
23
24
 
24
25
  it 'should be able to configure .home' do
25
26
  RemoteFactoryGirl.config.home[:host] = 'fun_guy'
26
- RemoteFactoryGirl.config.home[:port] = 3333
27
- RemoteFactoryGirl.config.home[:end_point] = '/down_home'
27
+ RemoteFactoryGirl.config.home[:port] = 3333
28
+ RemoteFactoryGirl.config.home[:end_point] = '/down_home'
28
29
  expect(RemoteFactoryGirl.config.home[:host]).to eq('fun_guy')
29
30
  expect(RemoteFactoryGirl.config.home[:port]).to eq(3333)
30
31
  expect(RemoteFactoryGirl.config.home[:end_point]).to eq('/down_home')
@@ -36,12 +37,17 @@ describe RemoteFactoryGirl do
36
37
 
37
38
  it 'should be able to configure .return_with_root' do
38
39
  RemoteFactoryGirl.config.return_with_root = false
39
- expect(RemoteFactoryGirl.config.return_with_root).to be_false
40
+ expect(RemoteFactoryGirl.config.return_with_root).to be_false
40
41
  end
41
42
 
42
43
  it 'should be able to configure .return_as_active_resource' do
43
- RemoteFactoryGirl.config.return_with_root = true
44
- expect(RemoteFactoryGirl.config.return_with_root).to be_true
44
+ RemoteFactoryGirl.config.return_as_active_resource = true
45
+ expect(RemoteFactoryGirl.config.return_as_active_resource).to be_true
46
+ end
47
+
48
+ it 'should be able to configure https' do
49
+ RemoteFactoryGirl.config.https = true
50
+ expect(RemoteFactoryGirl.config.https).to be_true
45
51
  end
46
52
  end
47
53
 
@@ -61,6 +67,16 @@ describe RemoteFactoryGirl do
61
67
 
62
68
  before do
63
69
  RestClient.stub(:post).and_return('{"user": {"id": "1", "first_name": "Sam", "last_name": "Iam"}}')
70
+ RestClient.stub(:get).and_return('["user", "user_admin"]')
71
+ end
72
+
73
+ describe '.factories' do
74
+
75
+ before { RemoteFactoryGirl.config.home[:host] = 'localhost' }
76
+
77
+ it 'should return all factories available' do
78
+ expect(RemoteFactoryGirl.factories).to match_array(['user', 'user_admin'])
79
+ end
64
80
  end
65
81
 
66
82
  describe '.create' do
@@ -71,19 +87,19 @@ describe RemoteFactoryGirl do
71
87
 
72
88
  it 'should be able to create a factory' do
73
89
  user = RemoteFactoryGirl.create(:site)
74
- expect(user).to have_key('user')
90
+ expect(user).to have_key('user')
75
91
  end
76
92
 
77
93
  it 'should not return root hash key when .return_with_root is false' do
78
94
  RemoteFactoryGirl.config.return_with_root = false
79
95
  user = RemoteFactoryGirl.create(:user)
80
- expect(user).to_not have_key('user')
96
+ expect(user).to_not have_key('user')
81
97
  end
82
98
 
83
99
  it 'should not return an object that responds to dot notation' do
84
100
  RemoteFactoryGirl.config.return_response_as = :dot_notation
85
101
  user = RemoteFactoryGirl.create(:user)
86
- expect(user.first_name).to_not eq('Sam')
102
+ expect(user.first_name).to_not eq('Sam')
87
103
  end
88
104
 
89
105
  it 'should send a post request to home' do
@@ -99,7 +115,7 @@ describe RemoteFactoryGirl do
99
115
  config.return_with_root = false
100
116
  end
101
117
  user = RemoteFactoryGirl.create(:user)
102
- expect(user.first_name).to eq('Sam')
118
+ expect(user.first_name).to eq('Sam')
103
119
  end
104
120
 
105
121
  describe 'when configured to return active_resource object' do
@@ -110,10 +126,10 @@ describe RemoteFactoryGirl do
110
126
 
111
127
  class User < ActiveResource; end
112
128
 
113
- before do
129
+ before do
114
130
  RemoteFactoryGirl.configure do |config|
115
131
  config.home = { :host => 'localhost' }
116
- config.return_as_active_resource = true
132
+ config.return_as_active_resource = true
117
133
  end
118
134
  end
119
135
 
@@ -1,53 +1,81 @@
1
- require 'virtus'
2
1
  require 'remote_factory_girl/config.rb'
3
2
  require 'remote_factory_girl/http.rb'
4
3
  require 'remote_factory_girl/config_applier'
5
- require 'remote_factory_girl/config_struct'
6
4
  require 'remote_factory_girl/hash_to_dot'
7
5
 
8
6
  describe RemoteFactoryGirl::Config do
9
7
 
10
- describe 'initialize' do
8
+ let(:config) { RemoteFactoryGirl::Config.new }
11
9
 
12
- describe '.configure' do
13
- it 'should be able to set configurations' do
14
- config = RemoteFactoryGirl::Config.configure({ :home => { :host => 'tifton', :port => 9999, :end_point => '/somewhere' },
15
- :return_response_as => :as_dot_notation,
16
- :return_with_root => false })
17
- expect(config.home).to eq({ :host => 'tifton',
18
- :port => 9999,
19
- :end_point => '/somewhere'})
20
- expect(config.return_response_as).to eq(:as_dot_notation)
21
- expect(config.return_with_root).to be_false
22
- end
23
- end
10
+ describe 'initialize' do
24
11
 
25
12
  describe 'default configuration' do
26
13
  it 'should be configured with correct defaults' do
27
- config = RemoteFactoryGirl::Config.new
28
14
  expect(config.home).to eq({ :host => nil,
29
15
  :port => nil,
30
16
  :end_point => '/remote_factory_girl/home'})
31
17
  expect(config.return_response_as).to eq(:as_hash)
32
18
  expect(config.return_with_root).to be_true
19
+ expect(config.return_as_active_resource).to be_false
20
+ expect(config.https).to be_false
33
21
  end
34
22
  end
23
+ end
35
24
 
36
- describe '#home_url' do
25
+ describe '#home_url' do
37
26
 
38
- let(:config) { RemoteFactoryGirl::Config.new }
27
+ it 'should return a url with port if port is configured' do
28
+ config.home[:host] = 'localhost'
29
+ config.home[:port] = 5555
30
+ expect(config.home_url).to eq('http://localhost:5555/remote_factory_girl/home')
31
+ end
39
32
 
40
- it 'should return a url with port if port is configured' do
41
- config.home[:host] = 'localhost'
42
- config.home[:port] = 5555
43
- expect(config.home_url).to eq('http://localhost:5555/remote_factory_girl/home')
44
- end
33
+ it 'should return a url without a port if port is not configured' do
34
+ config.home[:host] = 'localhost_no_port'
35
+ config.home[:port] = nil
36
+ expect(config.home_url).to eq('http://localhost_no_port/remote_factory_girl/home')
37
+ end
45
38
 
46
- it 'should return a url without a port if port is not configured' do
47
- config.home[:host] = 'localhost_no_port'
48
- config.home[:port] = nil
49
- expect(config.home_url).to eq('http://localhost_no_port/remote_factory_girl/home')
50
- end
39
+ it 'should return a url that is configured with https' do
40
+ config.https = true
41
+ config.home[:host] = 'localhost'
42
+ config.home[:port] = 5555
43
+
44
+ expect(config.home_url).to eq('https://localhost:5555/remote_factory_girl/home')
45
+ end
46
+ end
47
+
48
+ describe '#has_home?' do
49
+ it 'should return false when host and end_point are not set' do
50
+ config.home[:host] = nil
51
+ config.home[:end_point] = nil
52
+ expect(config.has_home?).to be_false
53
+ end
54
+
55
+ it 'should return false when host is not set and end_point is set' do
56
+ expect(config.has_home?).to be_false
57
+ end
58
+
59
+ it 'should return true when host and end_point is set' do
60
+ config.home[:host] = 'localhost'
61
+ config.home[:end_point] = 'some_where'
62
+ expect(config.has_home?).to be_true
63
+ end
64
+ end
65
+
66
+ describe '#to_hash' do
67
+ it 'should return a properly formatted hash' do
68
+ config.home[:port] = '3000'
69
+ config.home[:host] = 'localhost'
70
+ config.home[:end_point] = '/some_where'
71
+
72
+ expect(config.to_hash).to eq( { :home => { :host => 'localhost',
73
+ :port => '3000',
74
+ :end_point => '/some_where' },
75
+ :home_url => 'http://localhost:3000/some_where',
76
+ :return_response_as => :as_hash,
77
+ :return_with_root => true,
78
+ :return_as_active_resource => false })
51
79
  end
52
80
  end
53
81
  end
@@ -10,12 +10,12 @@ describe RemoteFactoryGirl::Http do
10
10
 
11
11
  it 'should raise no host config errors' do
12
12
  rest_client.stub(:post).with(config.home_url, params, content_type: :json, accept: :json).and_return(true)
13
- expect(config).to receive(:raise_no_host_error)
13
+ expect(config).to receive(:raise_if_host_not_set)
14
14
  RemoteFactoryGirl::Http.post(config, params, rest_client)
15
15
  end
16
16
 
17
17
  it 'should send http request to home_url with params' do
18
- config.stub(:raise_no_host_error)
18
+ config.stub(:raise_if_host_not_set)
19
19
  expect(rest_client).to receive(:post).with(config.home_url, params, content_type: :json, accept: :json)
20
20
  RemoteFactoryGirl::Http.post(config, params, rest_client)
21
21
  end
@@ -4,30 +4,12 @@ describe RemoteFactoryGirl do
4
4
 
5
5
  let(:config) { double('config', :to_hash => {}) }
6
6
 
7
- it 'should return params for http request' do
8
- rfg = RemoteFactoryGirl::RemoteFactoryGirl.new('user', { :first_name => 'Sam' }, config)
9
- expect(rfg.params).to eq(
10
- { :factory => 'user', :attributes => { :first_name => 'Sam'}}
11
- )
12
- end
13
-
14
- describe '#post' do
7
+ describe '#create' do
15
8
  it 'should send a post request' do
16
9
  http = double('RemoteFactoryGirl::Http')
17
10
  attributes = { :first_name => 'Sam' }
18
11
  expect(http).to receive(:post).with(config, {:factory => 'user', :attributes => { :first_name => 'Sam'}})
19
- RemoteFactoryGirl::RemoteFactoryGirl.new('user', attributes, config).post(http)
20
- end
21
- end
22
-
23
- describe '#apply_config' do
24
- it 'should apply config options to json with supplied configuration' do
25
- attributes = { :first_name => 'Sam' }
26
- config_applier = double('RemoteFactoryGirl::ConfigApplier')
27
- post = double('RemoteFactoryGirl::Http', :json => {})
28
- RemoteFactoryGirl::Http.stub(:post).and_return(post)
29
- expect(config_applier).to receive(:apply_config).with(post.json, config.to_hash)
30
- RemoteFactoryGirl::RemoteFactoryGirl.new('user', attributes, config).apply_config(config_applier)
12
+ RemoteFactoryGirl::RemoteFactoryGirl.new(config).create('user', attributes, http)
31
13
  end
32
14
  end
33
15
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: remote_factory_girl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - tdouce
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-09 00:00:00.000000000 Z
11
+ date: 2014-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: virtus
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '1.0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '1.0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: dish
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -96,7 +82,6 @@ files:
96
82
  - lib/remote_factory_girl.rb
97
83
  - lib/remote_factory_girl/config.rb
98
84
  - lib/remote_factory_girl/config_applier.rb
99
- - lib/remote_factory_girl/config_struct.rb
100
85
  - lib/remote_factory_girl/exceptions.rb
101
86
  - lib/remote_factory_girl/hash_to_dot.rb
102
87
  - lib/remote_factory_girl/http.rb
@@ -106,7 +91,6 @@ files:
106
91
  - spec/integration/remote_factory_girl_spec.rb
107
92
  - spec/models/remote_factory_girl/config_applier_spec.rb
108
93
  - spec/models/remote_factory_girl/config_spec.rb
109
- - spec/models/remote_factory_girl/config_struct_spec.rb
110
94
  - spec/models/remote_factory_girl/http_spec.rb
111
95
  - spec/models/remote_factory_girl/json_to_active_resource_spec.rb
112
96
  - spec/models/remote_factory_girl_spec.rb
@@ -140,7 +124,6 @@ test_files:
140
124
  - spec/integration/remote_factory_girl_spec.rb
141
125
  - spec/models/remote_factory_girl/config_applier_spec.rb
142
126
  - spec/models/remote_factory_girl/config_spec.rb
143
- - spec/models/remote_factory_girl/config_struct_spec.rb
144
127
  - spec/models/remote_factory_girl/http_spec.rb
145
128
  - spec/models/remote_factory_girl/json_to_active_resource_spec.rb
146
129
  - spec/models/remote_factory_girl_spec.rb
@@ -1,19 +0,0 @@
1
- require 'ostruct'
2
-
3
- module RemoteFactoryGirl
4
- class ConfigStruct < OpenStruct
5
- def self.block_to_hash(block = nil)
6
- config = self.new
7
- if block
8
- block.call(config)
9
- config.to_hash
10
- else
11
- {}
12
- end
13
- end
14
-
15
- def to_hash
16
- @table
17
- end
18
- end
19
- end
@@ -1,21 +0,0 @@
1
- require 'remote_factory_girl/config_struct.rb'
2
-
3
- describe RemoteFactoryGirl::ConfigStruct do
4
-
5
- describe '.block_to_hash' do
6
- it 'should be able to configure with a block' do
7
- class Thing
8
- def self.configure(&block)
9
- RemoteFactoryGirl::ConfigStruct.block_to_hash(block)
10
- end
11
- end
12
-
13
- thing = Thing.configure do |config|
14
- config.first_name = 'Sam'
15
- config.last_name = 'Iam'
16
- end
17
-
18
- expect(thing.to_hash).to eq({:first_name => 'Sam', :last_name => 'Iam'})
19
- end
20
- end
21
- end