effective_addresses 1.0.6 → 1.1.0

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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/effective/addresses_controller.rb +0 -1
  3. data/app/models/concerns/acts_as_addressable.rb +35 -9
  4. data/lib/effective_addresses/version.rb +1 -1
  5. data/lib/effective_addresses.rb +1 -1
  6. data/spec/controllers/addresses_controller_spec.rb +5 -2
  7. data/spec/dummy/README.rdoc +5 -258
  8. data/spec/dummy/Rakefile +1 -2
  9. data/spec/dummy/app/assets/javascripts/application.js +3 -5
  10. data/spec/dummy/app/assets/stylesheets/application.css +5 -3
  11. data/spec/dummy/app/controllers/application_controller.rb +3 -1
  12. data/spec/dummy/app/models/user.rb +24 -0
  13. data/spec/dummy/app/models/user_with_address.rb +3 -0
  14. data/spec/dummy/app/models/user_with_required_address.rb +3 -0
  15. data/spec/dummy/app/models/user_with_required_address_and_full_name.rb +3 -0
  16. data/spec/dummy/app/models/user_with_required_full_name.rb +3 -0
  17. data/spec/dummy/app/models/user_with_singular_address.rb +3 -0
  18. data/spec/dummy/app/views/layouts/application.html.erb +2 -2
  19. data/spec/dummy/bin/bundle +3 -0
  20. data/spec/dummy/bin/rails +4 -0
  21. data/spec/dummy/bin/rake +4 -0
  22. data/spec/dummy/config/application.rb +6 -42
  23. data/spec/dummy/config/boot.rb +4 -9
  24. data/spec/dummy/config/database.yml +9 -9
  25. data/spec/dummy/config/environment.rb +3 -3
  26. data/spec/dummy/config/environments/development.rb +19 -19
  27. data/spec/dummy/config/environments/production.rb +45 -29
  28. data/spec/dummy/config/environments/test.rb +17 -15
  29. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  30. data/spec/dummy/config/initializers/effective_addresses.rb +15 -0
  31. data/spec/dummy/config/initializers/session_store.rb +1 -6
  32. data/spec/dummy/config/initializers/wrap_parameters.rb +6 -6
  33. data/spec/dummy/config/routes.rb +1 -57
  34. data/spec/dummy/config/secrets.yml +22 -0
  35. data/spec/dummy/config.ru +1 -1
  36. data/spec/dummy/db/schema.rb +24 -1
  37. data/spec/dummy/db/test.sqlite3 +0 -0
  38. data/spec/dummy/log/test.log +11534 -0
  39. data/spec/models/acts_as_addressable_spec.rb +159 -0
  40. data/spec/models/address_spec.rb +1 -2
  41. data/spec/rails_helper.rb +60 -0
  42. data/spec/spec_helper.rb +87 -30
  43. data/spec/support/factories.rb +48 -1
  44. metadata +172 -24
  45. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  46. data/spec/dummy/config/initializers/inflections.rb +0 -15
  47. data/spec/dummy/config/initializers/mime_types.rb +0 -5
  48. data/spec/dummy/config/initializers/secret_token.rb +0 -7
  49. data/spec/dummy/config/locales/en.yml +0 -5
  50. data/spec/dummy/public/404.html +0 -26
  51. data/spec/dummy/public/422.html +0 -26
  52. data/spec/dummy/public/500.html +0 -25
  53. data/spec/dummy/public/favicon.ico +0 -0
  54. data/spec/dummy/script/rails +0 -6
  55. data/spec/dummy/spec_link +0 -3
@@ -0,0 +1,159 @@
1
+ require 'spec_helper'
2
+
3
+ describe User do
4
+
5
+ describe 'Validations' do
6
+ let(:address) { FactoryGirl.create(:address) }
7
+ let(:address_with_full_name) { FactoryGirl.create(:address_with_full_name) }
8
+
9
+ describe 'no requirements' do
10
+ let(:user) { FactoryGirl.build(:user_with_address) }
11
+
12
+ it 'is valid without an address' do
13
+ user.valid?.should eq true
14
+ end
15
+ end
16
+
17
+ describe 'required address' do
18
+ let(:user) { FactoryGirl.build(:user_with_required_address) }
19
+
20
+ it 'is invalid without an address' do
21
+ user.valid?.should eq false
22
+ user.errors[:billing_address].present?.should eq true
23
+
24
+ # Now lets make it valid
25
+ user.billing_address = address
26
+
27
+ user.valid?.should eq true
28
+ user.errors[:billing_address].present?.should eq false
29
+ end
30
+ end
31
+
32
+ describe 'no required address, required full_name' do
33
+ let(:user) { FactoryGirl.build(:user_with_required_full_name) }
34
+
35
+ it 'is valid without an address' do
36
+ user.valid?.should eq true
37
+ end
38
+
39
+ it 'is invalid when an address without full name is present' do
40
+ user.billing_address = address
41
+ user.valid?.should eq false
42
+ user.errors[:billing_address].present?.should eq true
43
+
44
+ # Now lets make it valid
45
+ user.billing_address = address_with_full_name
46
+ user.valid?.should eq true
47
+ user.errors[:billing_address].present?.should eq false
48
+ end
49
+ end
50
+
51
+ describe 'required address, required full_name' do
52
+ let(:user) { FactoryGirl.build(:user_with_required_address_and_full_name) }
53
+
54
+ it 'is invalid without an address' do
55
+ user.valid?.should eq false
56
+ end
57
+
58
+ it 'is invalid when an address without full name is present' do
59
+ user.billing_address = address
60
+ user.valid?.should eq false
61
+ user.errors[:billing_address].present?.should eq true
62
+
63
+ # Now lets make it valid
64
+ user.billing_address = address_with_full_name
65
+ user.valid?.should eq true
66
+ user.errors[:billing_address].present?.should eq false
67
+ end
68
+ end
69
+ end
70
+
71
+ describe 'Many Addresses' do
72
+ let(:user) { FactoryGirl.build(:user_with_address) }
73
+ let(:address) { FactoryGirl.build(:address) }
74
+ let(:address2) { FactoryGirl.build(:address) }
75
+
76
+ it 'saves an address when parent record is saved' do
77
+ user.billing_address = address
78
+ user.save!
79
+
80
+ Effective::Address.all.count.should eq 1
81
+ user.addresses.length.should eq 1
82
+ end
83
+
84
+ it 'saves an additional address when parent record is saved with new address' do
85
+ user.billing_address = address
86
+ user.save!
87
+
88
+ user.billing_address = address2
89
+ user.save!
90
+
91
+ Effective::Address.all.count.should eq 2
92
+ user.addresses.length.should eq 2
93
+
94
+ user.billing_address.should eq address2
95
+ user.reload
96
+ user.billing_address.should eq address2
97
+ end
98
+
99
+ it 'doesnt save an additional address when saved with a duplicate address' do
100
+ user.billing_address = address
101
+ user.save!
102
+
103
+ address2.address1 = address.address1 # New object, same attributes
104
+
105
+ user.billing_address = address2
106
+ user.save!
107
+
108
+ Effective::Address.all.count.should eq 1
109
+ user.addresses.length.should eq 1
110
+
111
+ user.billing_address.should eq address
112
+ user.billing_address.should eq address2
113
+ end
114
+
115
+ end
116
+
117
+ describe 'Singular Addresses' do
118
+ let(:user) { FactoryGirl.build(:user_with_singular_address) }
119
+ let(:address) { FactoryGirl.build(:address) }
120
+ let(:address2) { FactoryGirl.build(:address) }
121
+
122
+ it 'saves an address when parent record is saved' do
123
+ user.billing_address = address
124
+ user.save!
125
+
126
+ Effective::Address.all.count.should eq 1
127
+ user.addresses.length.should eq 1
128
+ end
129
+
130
+ it 'does not save an additional address when parent record is saved with new address' do
131
+ user.billing_address = address
132
+ user.save!
133
+
134
+ Effective::Address.all.count.should eq 1
135
+ user.addresses.length.should eq 1
136
+
137
+ address_id = user.billing_address.id
138
+ address_id.present?.should eq true
139
+
140
+ # Now let's assign another address with different atts
141
+ user.billing_address = address2
142
+ user.billing_address.address1.should eq address2.address1
143
+ user.save!
144
+
145
+ Effective::Address.all.count.should eq 1
146
+ user.addresses.length.should eq 1
147
+
148
+ user.reload
149
+
150
+ user.billing_address.id.should eq address_id
151
+
152
+ user.billing_address.address1.should_not eq address.address1
153
+ user.billing_address.address1.should eq address2.address1
154
+ end
155
+
156
+ end
157
+
158
+
159
+ end
@@ -1,5 +1,4 @@
1
- require 'spec_helper'
2
- require 'carmen-rails'
1
+ require 'rails_helper'
3
2
 
4
3
  describe Effective::Address do
5
4
  let(:address) { FactoryGirl.create(:address) }
@@ -0,0 +1,60 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV['RAILS_ENV'] ||= 'test'
3
+ require 'spec_helper'
4
+ require File.expand_path("../dummy/config/environment", __FILE__)
5
+
6
+ require 'rspec/rails'
7
+ require 'carmen-rails'
8
+ require 'factory_girl_rails'
9
+
10
+ # Add additional requires below this line. Rails is not loaded until this point!
11
+
12
+ # Requires supporting ruby files with custom matchers and macros, etc, in
13
+ # spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are
14
+ # run as spec files by default. This means that files in spec/support that end
15
+ # in _spec.rb will both be required and run as specs, causing the specs to be
16
+ # run twice. It is recommended that you do not name files matching this glob to
17
+ # end with _spec.rb. You can configure this pattern with the --pattern
18
+ # option on the command line or in ~/.rspec, .rspec or `.rspec-local`.
19
+ #
20
+ # The following line is provided for convenience purposes. It has the downside
21
+ # of increasing the boot-up time by auto-requiring all files in the support
22
+ # directory. Alternatively, in the individual `*_spec.rb` files, manually
23
+ # require only the support files necessary.
24
+ #
25
+
26
+ Dir[Rails.root.join("../../spec/support/**/*.rb")].each {|f| require f }
27
+
28
+ Carmen.i18n_backend.load_path << (Carmen.root_path.to_s + '/locale/base/en/world.yml')
29
+ Carmen.i18n_backend.load_path << (Carmen.root_path.to_s + '/locale/base/en/world/ca.yml')
30
+ Carmen.i18n_backend.load_path << (Carmen.root_path.to_s + '/locale/base/en/world/us.yml')
31
+ Carmen.i18n_backend.load_path << (Carmen.root_path.to_s + '/locale/base/en/world/sg.yml')
32
+
33
+ # Checks for pending migrations before tests are run.
34
+ # If you are not using ActiveRecord, you can remove this line.
35
+ ActiveRecord::Migration.maintain_test_schema!
36
+
37
+ RSpec.configure do |config|
38
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
39
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
40
+
41
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
42
+ # examples within a transaction, remove the following line or assign false
43
+ # instead of true.
44
+ config.use_transactional_fixtures = true
45
+
46
+ # RSpec Rails can automatically mix in different behaviours to your tests
47
+ # based on their file location, for example enabling you to call `get` and
48
+ # `post` in specs under `spec/controllers`.
49
+ #
50
+ # You can disable this behaviour by removing the line below, and instead
51
+ # explicitly tag your specs with their type, e.g.:
52
+ #
53
+ # RSpec.describe UsersController, :type => :controller do
54
+ # # ...
55
+ # end
56
+ #
57
+ # The different available types are documented in the features, such as in
58
+ # https://relishapp.com/rspec/rspec-rails/docs
59
+ config.infer_spec_type_from_file_location!
60
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,40 +1,97 @@
1
- ENV["RAILS_ENV"] ||= 'test'
1
+ # This file was generated by the `rspec --init` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # The generated `.rspec` file contains `--require spec_helper` which will cause
4
+ # this file to always be loaded, without a need to explicitly require it in any
5
+ # files.
6
+ #
7
+ # Given that it is always loaded, you are encouraged to keep this file as
8
+ # light-weight as possible. Requiring heavyweight dependencies from this file
9
+ # will add to the boot time of your test suite on EVERY test run, even for an
10
+ # individual file that may not need all of that loaded. Instead, consider making
11
+ # a separate helper file that requires the additional dependencies and performs
12
+ # the additional setup, and require it from the spec files that actually need
13
+ # it.
14
+ #
15
+ # The `.rspec` file also contains a few flags that are not defaults but that
16
+ # users commonly want.
17
+ #
18
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
19
+ RSpec.configure do |config|
20
+ # rspec-expectations config goes here. You can use an alternate
21
+ # assertion/expectation library such as wrong or the stdlib/minitest
22
+ # assertions if you prefer.
23
+ config.expect_with :rspec do |expectations|
24
+ # This option will default to `true` in RSpec 4. It makes the `description`
25
+ # and `failure_message` of custom matchers include text for helper methods
26
+ # defined using `chain`, e.g.:
27
+ # be_bigger_than(2).and_smaller_than(4).description
28
+ # # => "be bigger than 2 and smaller than 4"
29
+ # ...rather than:
30
+ # # => "be bigger than 2"
31
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
32
+ end
2
33
 
3
- require File.expand_path("../dummy/config/environment", __FILE__)
34
+ # rspec-mocks config goes here. You can use an alternate test double
35
+ # library (such as bogus or mocha) by changing the `mock_with` option here.
36
+ config.mock_with :rspec do |mocks|
37
+ # Prevents you from mocking or stubbing a method that does not exist on
38
+ # a real object. This is generally recommended, and will default to
39
+ # `true` in RSpec 4.
40
+ mocks.verify_partial_doubles = true
41
+ end
4
42
 
5
- require 'rspec/rails'
6
- require 'rspec/autorun'
7
- require 'factory_girl_rails'
8
- require 'haml'
43
+ config.order = :random
9
44
 
10
- # Requires supporting ruby files with custom matchers and macros, etc,
11
- # in spec/support/ and its subdirectories.
12
- Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f }
45
+ config.expect_with :rspec do |c|
46
+ c.syntax = [:should, :expect]
47
+ end
13
48
 
14
- Carmen.i18n_backend.load_path << (Carmen.root_path.to_s + '/locale/en/world.yml')
15
- Carmen.i18n_backend.load_path << (Carmen.root_path.to_s + '/locale/en/world/ca.yml')
16
- Carmen.i18n_backend.load_path << (Carmen.root_path.to_s + '/locale/en/world/us.yml')
17
- Carmen.i18n_backend.load_path << (Carmen.root_path.to_s + '/locale/en/world/sg.yml')
49
+ # The settings below are suggested to provide a good initial experience
50
+ # with RSpec, but feel free to customize to your heart's content.
51
+ =begin
52
+ # These two settings work together to allow you to limit a spec run
53
+ # to individual examples or groups you care about by tagging them with
54
+ # `:focus` metadata. When nothing is tagged with `:focus`, all examples
55
+ # get run.
56
+ config.filter_run :focus
57
+ config.run_all_when_everything_filtered = true
18
58
 
19
- RSpec.configure do |config|
20
- config.fixture_path = "#{::Rails.root}/spec/fixtures"
59
+ # Limits the available syntax to the non-monkey patched syntax that is
60
+ # recommended. For more details, see:
61
+ # - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
62
+ # - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
63
+ # - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#new__config_option_to_disable_rspeccore_monkey_patching
64
+ config.disable_monkey_patching!
21
65
 
22
- Rails.logger.level = 4 # Output only minimal stuff to test.log
66
+ # This setting enables warnings. It's recommended, but in some cases may
67
+ # be too noisy due to issues in dependencies.
68
+ config.warnings = true
23
69
 
24
- config.use_transactional_fixtures = true # Make this false to once again use DatabaseCleaner
25
- config.infer_base_class_for_anonymous_controllers = false
26
- config.order = 'random'
27
- end
70
+ # Many RSpec users commonly either run the entire suite or an individual
71
+ # file, and it's useful to allow more verbose output when running an
72
+ # individual spec file.
73
+ if config.files_to_run.one?
74
+ # Use the documentation formatter for detailed output,
75
+ # unless a formatter has already been configured
76
+ # (e.g. via a command-line flag).
77
+ config.default_formatter = 'doc'
78
+ end
28
79
 
29
- class ActiveRecord::Base
30
- mattr_accessor :shared_connection
31
- @@shared_connection = nil
80
+ # Print the 10 slowest examples and example groups at the
81
+ # end of the spec run, to help surface which specs are running
82
+ # particularly slow.
83
+ config.profile_examples = 10
32
84
 
33
- def self.connection
34
- @@shared_connection || retrieve_connection
35
- end
36
- end
85
+ # Run specs in random order to surface order dependencies. If you find an
86
+ # order dependency and want to debug it, you can fix the order by providing
87
+ # the seed, which is printed after each run.
88
+ # --seed 1234
89
+ config.order = :random
37
90
 
38
- # Forces all threads to share the same connection. This works on
39
- # Capybara because it starts the web server in a thread.
40
- ActiveRecord::Base.shared_connection = ActiveRecord::Base.connection
91
+ # Seed global randomization in this process using the `--seed` CLI option.
92
+ # Setting this allows you to use `--seed` to deterministically reproduce
93
+ # test failures related to randomization by passing the same `--seed` value
94
+ # as the one that triggered the failure.
95
+ Kernel.srand config.seed
96
+ =end
97
+ end
@@ -2,7 +2,17 @@ require 'factory_girl'
2
2
 
3
3
  FactoryGirl.define do
4
4
  factory :address, :class => Effective::Address do
5
- category 'shipping'
5
+ category 'billing'
6
+ full_name nil
7
+ sequence(:address1) { |n| "1234#{n} Fake Street" }
8
+ city 'San Antonio'
9
+ state_code 'TX'
10
+ country_code 'US'
11
+ postal_code '92387'
12
+ end
13
+
14
+ factory :address_with_full_name, :class => Effective::Address do
15
+ category 'billing'
6
16
  full_name 'Peter Pan'
7
17
  sequence(:address1) { |n| "1234#{n} Fake Street" }
8
18
  city 'San Antonio'
@@ -10,4 +20,41 @@ FactoryGirl.define do
10
20
  country_code 'US'
11
21
  postal_code '92387'
12
22
  end
23
+
24
+ factory :user do
25
+ sequence(:email) { |n| "user_#{n}@effective_addresses.test"}
26
+ sequence(:first_name) { |n| "First Name #{n}"}
27
+ sequence(:last_name) { |n| "Last Name #{n}"}
28
+ end
29
+
30
+ factory :user_with_address do
31
+ sequence(:email) { |n| "user_#{n}@effective_addresses.test"}
32
+ sequence(:first_name) { |n| "First Name #{n}"}
33
+ sequence(:last_name) { |n| "Last Name #{n}"}
34
+ end
35
+
36
+ factory :user_with_required_address do
37
+ sequence(:email) { |n| "user_#{n}@effective_addresses.test"}
38
+ sequence(:first_name) { |n| "First Name #{n}"}
39
+ sequence(:last_name) { |n| "Last Name #{n}"}
40
+ end
41
+
42
+ factory :user_with_required_full_name do
43
+ sequence(:email) { |n| "user_#{n}@effective_addresses.test"}
44
+ sequence(:first_name) { |n| "First Name #{n}"}
45
+ sequence(:last_name) { |n| "Last Name #{n}"}
46
+ end
47
+
48
+ factory :user_with_required_address_and_full_name do
49
+ sequence(:email) { |n| "user_#{n}@effective_addresses.test"}
50
+ sequence(:first_name) { |n| "First Name #{n}"}
51
+ sequence(:last_name) { |n| "Last Name #{n}"}
52
+ end
53
+
54
+ factory :user_with_singular_address do
55
+ sequence(:email) { |n| "user_#{n}@effective_addresses.test"}
56
+ sequence(:first_name) { |n| "First Name #{n}"}
57
+ sequence(:last_name) { |n| "Last Name #{n}"}
58
+ end
59
+
13
60
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_addresses
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-17 00:00:00.000000000 Z
11
+ date: 2015-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -94,6 +94,146 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec-rails
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '3.0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '3.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: factory_girl_rails
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: shoulda-matchers
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: sqlite3
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: guard
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: guard-rspec
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: guard-livereload
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: pry
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: pry-stack_explorer
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: pry-byebug
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
97
237
  description: Extend any ActiveRecord object to have one or more named addresses. Includes
98
238
  a geographic region-aware custom form input backed by Carmen.
99
239
  email:
@@ -133,7 +273,16 @@ files:
133
273
  - spec/dummy/app/assets/stylesheets/application.css
134
274
  - spec/dummy/app/controllers/application_controller.rb
135
275
  - spec/dummy/app/helpers/application_helper.rb
276
+ - spec/dummy/app/models/user.rb
277
+ - spec/dummy/app/models/user_with_address.rb
278
+ - spec/dummy/app/models/user_with_required_address.rb
279
+ - spec/dummy/app/models/user_with_required_address_and_full_name.rb
280
+ - spec/dummy/app/models/user_with_required_full_name.rb
281
+ - spec/dummy/app/models/user_with_singular_address.rb
136
282
  - spec/dummy/app/views/layouts/application.html.erb
283
+ - spec/dummy/bin/bundle
284
+ - spec/dummy/bin/rails
285
+ - spec/dummy/bin/rake
137
286
  - spec/dummy/config.ru
138
287
  - spec/dummy/config/application.rb
139
288
  - spec/dummy/config/boot.rb
@@ -142,23 +291,18 @@ files:
142
291
  - spec/dummy/config/environments/development.rb
143
292
  - spec/dummy/config/environments/production.rb
144
293
  - spec/dummy/config/environments/test.rb
145
- - spec/dummy/config/initializers/backtrace_silencers.rb
146
- - spec/dummy/config/initializers/inflections.rb
147
- - spec/dummy/config/initializers/mime_types.rb
148
- - spec/dummy/config/initializers/secret_token.rb
294
+ - spec/dummy/config/initializers/cookies_serializer.rb
295
+ - spec/dummy/config/initializers/effective_addresses.rb
149
296
  - spec/dummy/config/initializers/session_store.rb
150
297
  - spec/dummy/config/initializers/wrap_parameters.rb
151
- - spec/dummy/config/locales/en.yml
152
298
  - spec/dummy/config/routes.rb
299
+ - spec/dummy/config/secrets.yml
153
300
  - spec/dummy/db/schema.rb
301
+ - spec/dummy/db/test.sqlite3
154
302
  - spec/dummy/log/test.log
155
- - spec/dummy/public/404.html
156
- - spec/dummy/public/422.html
157
- - spec/dummy/public/500.html
158
- - spec/dummy/public/favicon.ico
159
- - spec/dummy/script/rails
160
- - spec/dummy/spec_link
303
+ - spec/models/acts_as_addressable_spec.rb
161
304
  - spec/models/address_spec.rb
305
+ - spec/rails_helper.rb
162
306
  - spec/spec_helper.rb
163
307
  - spec/support/factories.rb
164
308
  homepage: https://github.com/code-and-effect/effective_addresses
@@ -192,7 +336,16 @@ test_files:
192
336
  - spec/dummy/app/assets/stylesheets/application.css
193
337
  - spec/dummy/app/controllers/application_controller.rb
194
338
  - spec/dummy/app/helpers/application_helper.rb
339
+ - spec/dummy/app/models/user.rb
340
+ - spec/dummy/app/models/user_with_address.rb
341
+ - spec/dummy/app/models/user_with_required_address.rb
342
+ - spec/dummy/app/models/user_with_required_address_and_full_name.rb
343
+ - spec/dummy/app/models/user_with_required_full_name.rb
344
+ - spec/dummy/app/models/user_with_singular_address.rb
195
345
  - spec/dummy/app/views/layouts/application.html.erb
346
+ - spec/dummy/bin/bundle
347
+ - spec/dummy/bin/rails
348
+ - spec/dummy/bin/rake
196
349
  - spec/dummy/config/application.rb
197
350
  - spec/dummy/config/boot.rb
198
351
  - spec/dummy/config/database.yml
@@ -200,25 +353,20 @@ test_files:
200
353
  - spec/dummy/config/environments/development.rb
201
354
  - spec/dummy/config/environments/production.rb
202
355
  - spec/dummy/config/environments/test.rb
203
- - spec/dummy/config/initializers/backtrace_silencers.rb
204
- - spec/dummy/config/initializers/inflections.rb
205
- - spec/dummy/config/initializers/mime_types.rb
206
- - spec/dummy/config/initializers/secret_token.rb
356
+ - spec/dummy/config/initializers/cookies_serializer.rb
357
+ - spec/dummy/config/initializers/effective_addresses.rb
207
358
  - spec/dummy/config/initializers/session_store.rb
208
359
  - spec/dummy/config/initializers/wrap_parameters.rb
209
- - spec/dummy/config/locales/en.yml
210
360
  - spec/dummy/config/routes.rb
361
+ - spec/dummy/config/secrets.yml
211
362
  - spec/dummy/config.ru
212
363
  - spec/dummy/db/schema.rb
364
+ - spec/dummy/db/test.sqlite3
213
365
  - spec/dummy/log/test.log
214
- - spec/dummy/public/404.html
215
- - spec/dummy/public/422.html
216
- - spec/dummy/public/500.html
217
- - spec/dummy/public/favicon.ico
218
366
  - spec/dummy/Rakefile
219
367
  - spec/dummy/README.rdoc
220
- - spec/dummy/script/rails
221
- - spec/dummy/spec_link
368
+ - spec/models/acts_as_addressable_spec.rb
222
369
  - spec/models/address_spec.rb
370
+ - spec/rails_helper.rb
223
371
  - spec/spec_helper.rb
224
372
  - spec/support/factories.rb
@@ -1,7 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4
- # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5
-
6
- # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7
- # Rails.backtrace_cleaner.remove_silencers!