spree-print-invoice 2.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 (49) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.hound.yml +3 -0
  4. data/.rspec +1 -0
  5. data/.travis.yml +11 -0
  6. data/CONTRIBUTING.md +30 -0
  7. data/Gemfile +5 -0
  8. data/Guardfile +9 -0
  9. data/LICENSE.md +26 -0
  10. data/README.md +48 -0
  11. data/Rakefile +15 -0
  12. data/app/assets/javascripts/admin/spree_print_invoice.js +1 -0
  13. data/app/assets/stylesheets/admin/spree_print_invoice.css +3 -0
  14. data/app/controllers/spree/admin/orders_controller_decorator.rb +18 -0
  15. data/app/controllers/spree/admin/print_invoice_settings_controller.rb +16 -0
  16. data/app/overrides/add_print_invoice_to_admin_configuration_sidebar.rb +6 -0
  17. data/app/overrides/layouts_admin_print_buttons_decorator.rb +6 -0
  18. data/app/views/spree/admin/orders/_print_buttons.html.erb +12 -0
  19. data/app/views/spree/admin/orders/invoice.pdf.prawn +155 -0
  20. data/app/views/spree/admin/orders/packaging_slip.pdf.prawn +128 -0
  21. data/app/views/spree/admin/print_invoice_settings/edit.html.erb +90 -0
  22. data/bin/rails +7 -0
  23. data/config/locales/de.yml +37 -0
  24. data/config/locales/en.yml +37 -0
  25. data/config/locales/es.yml +37 -0
  26. data/config/locales/fr.yml +37 -0
  27. data/config/locales/sv.yml +37 -0
  28. data/config/routes.rb +11 -0
  29. data/db/migrate/20140123094547_add_invoice_details_to_spree_orders.rb +6 -0
  30. data/lib/generators/spree_print_invoice/install/install_generator.rb +19 -0
  31. data/lib/prawn_handler.rb +29 -0
  32. data/lib/spree/print_invoice_setting.rb +35 -0
  33. data/lib/spree_print_invoice.rb +13 -0
  34. data/lib/spree_print_invoice/engine.rb +29 -0
  35. data/lib/spree_print_invoice/version.rb +18 -0
  36. data/spec/features/spree/admin/print_invoice_setting_spec.rb +45 -0
  37. data/spec/features/spree/admin/print_invoice_spec.rb +60 -0
  38. data/spec/lib/prawn_handler_spec.rb +30 -0
  39. data/spec/spec_helper.rb +28 -0
  40. data/spec/support/capybara.rb +17 -0
  41. data/spec/support/databse_cleaner.rb +18 -0
  42. data/spec/support/factory_girl.rb +5 -0
  43. data/spec/support/i18n.rb +13 -0
  44. data/spec/support/matchers/have_text_like.rb +8 -0
  45. data/spec/support/spree.rb +12 -0
  46. data/spec/support/test.pdf.prawn +2 -0
  47. data/spec/translations/locale_spec.rb +15 -0
  48. data/spree_print_invoice.gemspec +47 -0
  49. metadata +398 -0
@@ -0,0 +1,18 @@
1
+ module Spree
2
+ module PrintInvoice
3
+
4
+ # Returns the version of the currently loaded Spree::PrintInvoice as a <tt>Gem::Version</tt>
5
+ def self.version
6
+ Gem::Version.new VERSION::STRING
7
+ end
8
+
9
+ module VERSION
10
+ MAJOR = 2
11
+ MINOR = 1
12
+ TINY = 0
13
+ PRE = nil
14
+
15
+ STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,45 @@
1
+ require 'spec_helper'
2
+
3
+ feature 'Settings for Print Invoice', :js do
4
+ stub_authorization!
5
+
6
+ scenario 'update' do
7
+ visit spree.admin_path
8
+ click_link 'Configuration'
9
+ click_link 'Print Invoice Settings'
10
+
11
+ # TODO: it does not save boolean values :(
12
+ # check 'preferences_use_footer'
13
+ # uncheck 'preferences_use_page_numbers'
14
+
15
+ fill_in 'preferences_print_invoice_logo_path', with: '/somewhere/logo.png'
16
+ fill_in 'preferences_print_buttons', with: 'invoice,packaging_slip'
17
+ fill_in 'preferences_print_invoice_next_number', with: '200'
18
+ fill_in 'preferences_footer_left', with: 'left text..'
19
+ fill_in 'preferences_footer_right', with: 'right text..'
20
+ fill_in 'preferences_return_message', with: 'Return message..'
21
+ fill_in 'preferences_anomaly_message', with: 'Anomaly message..'
22
+
23
+ # TODO: can't get select2 to find anything :(
24
+ # select2 'A4', from: 'preferences_page_size'
25
+ # select2 'portrait', from: 'preferences_page_layout'
26
+
27
+ click_button 'Update'
28
+
29
+ setting = Spree::PrintInvoiceSetting.new
30
+
31
+ # expect(setting[:use_footer]).to be_true
32
+ # expect(setting[:use_page_numbers]).to be_false
33
+
34
+ expect(setting[:print_invoice_logo_path]).to eq '/somewhere/logo.png'
35
+ expect(setting[:print_buttons]).to eq 'invoice,packaging_slip'
36
+ expect(setting[:print_invoice_next_number]).to eq 200
37
+ expect(setting[:footer_left]).to eq 'left text..'
38
+ expect(setting[:footer_right]).to eq 'right text..'
39
+ expect(setting[:return_message]).to eq 'Return message..'
40
+ expect(setting[:anomaly_message]).to eq 'Anomaly message..'
41
+
42
+ # expect(setting[:page_size]).to eq 'A4'
43
+ # expect(setting[:page_layout]).to eq 'portrait'
44
+ end
45
+ end
@@ -0,0 +1,60 @@
1
+ require 'spec_helper'
2
+
3
+ feature 'Admin Print Invoice', :js do
4
+ stub_authorization!
5
+
6
+ given(:user) { create(:user, email: 'support@spreecommerce.com') }
7
+ given(:address) { build(:address) }
8
+
9
+ background do
10
+ visit spree.admin_orders_path
11
+ end
12
+
13
+ context 'can not print' do
14
+
15
+ given!(:order) do
16
+ create(:order_with_line_items, user: user)
17
+ end
18
+
19
+ scenario 'when no shipped order exist' do
20
+ navigate_thru_filters_with order
21
+ within_table('listing_orders') { click_icon :edit }
22
+ expect(page).not_to have_link 'Print Invoice'
23
+ end
24
+ end
25
+
26
+ context 'can print' do
27
+
28
+ given!(:order) do
29
+ create(:shipped_order, user: user, bill_address: address)
30
+ end
31
+
32
+ scenario 'shipped order' do
33
+ expect(order.user.email).to eq 'support@spreecommerce.com'
34
+ expect(order.bill_address.company).not_to be_nil
35
+ expect(order.ship_address.company).not_to be_nil
36
+ expect(order.completed_at).not_to be_nil
37
+ expect(order.payment_state).to eq 'balance_due'
38
+
39
+ navigate_thru_filters_with order
40
+ within_table('listing_orders') { click_icon :edit }
41
+
42
+ expect(page).to have_link 'Print Invoice'
43
+ end
44
+ end
45
+
46
+ private
47
+
48
+ def navigate_thru_filters_with(order)
49
+ uncheck 'Only show complete orders'
50
+ click_button 'Filter Results'
51
+ expect(page).to have_text order.user.email
52
+ end
53
+
54
+ def show_invoice_pdf_for(order)
55
+ click_link 'Print Invoice'
56
+ expect(current_path).to eq "/admin/orders/#{order.number}.pdf?template=invoice"
57
+ expect(page.response_headers['Content-Type']).to eq 'application/pdf'
58
+ expect(page.response_headers['Content-Disposition']).to eq "attachment; filename=#{order.number}.pdf"
59
+ end
60
+ end
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+
3
+ module Prawn
4
+ class Document
5
+ def initialize
6
+ @calls = []
7
+ end
8
+
9
+ def explicit_call
10
+ @calls << :explicit_call
11
+ end
12
+
13
+ def implicit_call
14
+ @calls << :implicit_call
15
+ end
16
+
17
+ def render
18
+ @calls.inspect
19
+ end
20
+ end
21
+ end
22
+
23
+ describe 'PrawnHandler' do
24
+
25
+ it 'compatibility with action view' do
26
+ view = ActionView::Base.new
27
+ result = view.render file: File.join('spec', 'support', 'test.pdf.prawn')
28
+ expect(result).to eq '[:explicit_call, :implicit_call]'
29
+ end
30
+ end
@@ -0,0 +1,28 @@
1
+ require 'simplecov'
2
+ require 'coveralls'
3
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
4
+ SimpleCov::Formatter::HTMLFormatter,
5
+ Coveralls::SimpleCov::Formatter
6
+ ]
7
+ SimpleCov.start do
8
+ add_filter 'spec'
9
+ add_filter 'lib/spree_print_invoice/engine'
10
+ add_group 'Controllers', 'app/controllers'
11
+ add_group 'Overrides', 'app/overrides'
12
+ add_group 'Libraries', 'lib'
13
+ end
14
+
15
+ ENV['RAILS_ENV'] = 'test'
16
+
17
+ require File.expand_path('../dummy/config/environment.rb', __FILE__)
18
+
19
+ require 'rspec/rails'
20
+ require 'ffaker'
21
+
22
+ RSpec.configure do |config|
23
+ config.mock_with :rspec
24
+ config.use_transactional_fixtures = false
25
+ config.treat_symbols_as_metadata_keys_with_true_values = true
26
+ end
27
+
28
+ Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each { |f| require f }
@@ -0,0 +1,17 @@
1
+ require 'capybara/rspec'
2
+ require 'capybara/rails'
3
+ require 'capybara/poltergeist'
4
+
5
+ module CapybaraHelpers; end
6
+
7
+ RSpec.configure do |config|
8
+ config.include CapybaraHelpers, type: :feature
9
+
10
+ Capybara.javascript_driver = :poltergeist
11
+
12
+ config.before(:each, :js) do
13
+ if Capybara.javascript_driver == :selenium
14
+ page.driver.browser.manage.window.maximize
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,18 @@
1
+ require 'database_cleaner'
2
+
3
+ RSpec.configure do |config|
4
+
5
+ config.before :suite do
6
+ DatabaseCleaner.strategy = :transaction
7
+ DatabaseCleaner.clean_with :truncation
8
+ end
9
+
10
+ config.before do
11
+ DatabaseCleaner.strategy = example.metadata[:js] ? :truncation : :transaction
12
+ DatabaseCleaner.start
13
+ end
14
+
15
+ config.after do
16
+ DatabaseCleaner.clean
17
+ end
18
+ end
@@ -0,0 +1,5 @@
1
+ require 'factory_girl'
2
+
3
+ RSpec.configure do |config|
4
+ config.include FactoryGirl::Syntax::Methods
5
+ end
@@ -0,0 +1,13 @@
1
+ require 'rspec'
2
+ require 'i18n-spec'
3
+
4
+ RSpec.configure do |config|
5
+
6
+ config.after(type: :feature) do
7
+ missing_translations = page.body.scan(/translation missing: #{I18n.locale}\.(.*?)[\s<\"&]/)
8
+ if missing_translations.any?
9
+ puts "\e[1m\e[35mFound missing translations: #{missing_translations.inspect}\e[0m"
10
+ puts "\e[1m\e[35mIn spec: #{example.location}\e[0m"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,8 @@
1
+ RSpec::Matchers.define :have_text_like do |expected|
2
+ match do |actual|
3
+ have_text %r{#{expected}}iu
4
+ end
5
+ failure_message_for_should do |actual|
6
+ "expected that text would exist with '#{expected}'"
7
+ end
8
+ end
@@ -0,0 +1,12 @@
1
+ require 'spree/testing_support/factories'
2
+ require 'spree/testing_support/preferences'
3
+ require 'spree/testing_support/controller_requests'
4
+ require 'spree/testing_support/authorization_helpers'
5
+ require 'spree/testing_support/url_helpers'
6
+ require 'spree/testing_support/capybara_ext'
7
+
8
+ RSpec.configure do |config|
9
+ config.include Spree::TestingSupport::ControllerRequests
10
+ config.include Spree::TestingSupport::Preferences
11
+ config.include Spree::TestingSupport::UrlHelpers
12
+ end
@@ -0,0 +1,2 @@
1
+ pdf.explicit_call
2
+ implicit_call
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'locale' do
4
+ Dir.glob('config/locales/*.yml') do |locale_file|
5
+ context locale_file do
6
+ it { should be_parseable }
7
+ it { should have_valid_pluralization_keys }
8
+ it { should_not have_missing_pluralization_keys }
9
+ it { should have_one_top_level_namespace }
10
+ it { should_not have_legacy_interpolations }
11
+ it { should have_a_valid_locale }
12
+ it { should be_a_complete_translation_of 'config/locales/en.yml' }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,47 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib/', __FILE__)
3
+ $:.unshift lib unless $:.include?(lib)
4
+
5
+ require 'spree_print_invoice/version'
6
+
7
+ Gem::Specification.new do |s|
8
+ s.platform = Gem::Platform::RUBY
9
+ s.name = 'spree-print-invoice'
10
+ s.version = Spree::PrintInvoice.version
11
+ s.summary = 'Print invoices from a spree order'
12
+ s.description = s.summary
13
+ s.required_ruby_version = '>= 1.9.3'
14
+
15
+ s.authors = ['Christopher Angileri', 'Tobias Bohwalli']
16
+ s.email = 'hi@futhr.io'
17
+ s.homepage = 'https://github.com/futhr/spree-print-invoice'
18
+ s.license = %q{BSD-3}
19
+
20
+ s.files = `git ls-files`.split("\n")
21
+ s.test_files = `git ls-files -- spec/*`.split("\n")
22
+ s.require_path = 'lib'
23
+ s.requirements << 'none'
24
+
25
+ s.add_runtime_dependency 'prawn', '~> 1.0.0'
26
+ s.add_runtime_dependency 'spree_backend', '~> 2.1.0'
27
+
28
+ s.add_development_dependency 'capybara', '~> 2.2.1'
29
+ s.add_development_dependency 'selenium-webdriver', '>= 2.40'
30
+ s.add_development_dependency 'poltergeist', '~> 1.5.0'
31
+ s.add_development_dependency 'factory_girl', '~> 4.4'
32
+ s.add_development_dependency 'rspec', '~> 2.14'
33
+ s.add_development_dependency 'rspec-rails', '~> 2.14'
34
+ s.add_development_dependency 'simplecov', '~> 0.7.1'
35
+ s.add_development_dependency 'sqlite3', '~> 1.3.8'
36
+ s.add_development_dependency 'database_cleaner', '~> 1.2.0'
37
+ s.add_development_dependency 'coffee-rails', '~> 4.0.0'
38
+ s.add_development_dependency 'sass-rails', '~> 4.0.0'
39
+ s.add_development_dependency 'pdf-inspector', '~> 1.1.0'
40
+ s.add_development_dependency 'i18n-spec', '~> 0.4.1'
41
+ s.add_development_dependency 'ffaker', '>= 1.24.0'
42
+ s.add_development_dependency 'guard-rspec', '>= 4.2.0'
43
+ s.add_development_dependency 'launchy', '>= 2.4.0'
44
+ s.add_development_dependency 'pry-rails', '>= 0.3.0'
45
+ s.add_development_dependency 'coveralls', '>= 0.7.0'
46
+ s.add_development_dependency 'localeapp', '>= 0.7.2'
47
+ end
metadata ADDED
@@ -0,0 +1,398 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: spree-print-invoice
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Christopher Angileri
8
+ - Tobias Bohwalli
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-04-12 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: prawn
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: 1.0.0
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: 1.0.0
28
+ - !ruby/object:Gem::Dependency
29
+ name: spree_backend
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: 2.1.0
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: 2.1.0
42
+ - !ruby/object:Gem::Dependency
43
+ name: capybara
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: 2.2.1
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: 2.2.1
56
+ - !ruby/object:Gem::Dependency
57
+ name: selenium-webdriver
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '2.40'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '2.40'
70
+ - !ruby/object:Gem::Dependency
71
+ name: poltergeist
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: 1.5.0
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: 1.5.0
84
+ - !ruby/object:Gem::Dependency
85
+ name: factory_girl
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '4.4'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '4.4'
98
+ - !ruby/object:Gem::Dependency
99
+ name: rspec
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '2.14'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '2.14'
112
+ - !ruby/object:Gem::Dependency
113
+ name: rspec-rails
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '2.14'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '2.14'
126
+ - !ruby/object:Gem::Dependency
127
+ name: simplecov
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: 0.7.1
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: 0.7.1
140
+ - !ruby/object:Gem::Dependency
141
+ name: sqlite3
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: 1.3.8
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: 1.3.8
154
+ - !ruby/object:Gem::Dependency
155
+ name: database_cleaner
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - "~>"
159
+ - !ruby/object:Gem::Version
160
+ version: 1.2.0
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - "~>"
166
+ - !ruby/object:Gem::Version
167
+ version: 1.2.0
168
+ - !ruby/object:Gem::Dependency
169
+ name: coffee-rails
170
+ requirement: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - "~>"
173
+ - !ruby/object:Gem::Version
174
+ version: 4.0.0
175
+ type: :development
176
+ prerelease: false
177
+ version_requirements: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - "~>"
180
+ - !ruby/object:Gem::Version
181
+ version: 4.0.0
182
+ - !ruby/object:Gem::Dependency
183
+ name: sass-rails
184
+ requirement: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - "~>"
187
+ - !ruby/object:Gem::Version
188
+ version: 4.0.0
189
+ type: :development
190
+ prerelease: false
191
+ version_requirements: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - "~>"
194
+ - !ruby/object:Gem::Version
195
+ version: 4.0.0
196
+ - !ruby/object:Gem::Dependency
197
+ name: pdf-inspector
198
+ requirement: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - "~>"
201
+ - !ruby/object:Gem::Version
202
+ version: 1.1.0
203
+ type: :development
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - "~>"
208
+ - !ruby/object:Gem::Version
209
+ version: 1.1.0
210
+ - !ruby/object:Gem::Dependency
211
+ name: i18n-spec
212
+ requirement: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - "~>"
215
+ - !ruby/object:Gem::Version
216
+ version: 0.4.1
217
+ type: :development
218
+ prerelease: false
219
+ version_requirements: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - "~>"
222
+ - !ruby/object:Gem::Version
223
+ version: 0.4.1
224
+ - !ruby/object:Gem::Dependency
225
+ name: ffaker
226
+ requirement: !ruby/object:Gem::Requirement
227
+ requirements:
228
+ - - ">="
229
+ - !ruby/object:Gem::Version
230
+ version: 1.24.0
231
+ type: :development
232
+ prerelease: false
233
+ version_requirements: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: 1.24.0
238
+ - !ruby/object:Gem::Dependency
239
+ name: guard-rspec
240
+ requirement: !ruby/object:Gem::Requirement
241
+ requirements:
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: 4.2.0
245
+ type: :development
246
+ prerelease: false
247
+ version_requirements: !ruby/object:Gem::Requirement
248
+ requirements:
249
+ - - ">="
250
+ - !ruby/object:Gem::Version
251
+ version: 4.2.0
252
+ - !ruby/object:Gem::Dependency
253
+ name: launchy
254
+ requirement: !ruby/object:Gem::Requirement
255
+ requirements:
256
+ - - ">="
257
+ - !ruby/object:Gem::Version
258
+ version: 2.4.0
259
+ type: :development
260
+ prerelease: false
261
+ version_requirements: !ruby/object:Gem::Requirement
262
+ requirements:
263
+ - - ">="
264
+ - !ruby/object:Gem::Version
265
+ version: 2.4.0
266
+ - !ruby/object:Gem::Dependency
267
+ name: pry-rails
268
+ requirement: !ruby/object:Gem::Requirement
269
+ requirements:
270
+ - - ">="
271
+ - !ruby/object:Gem::Version
272
+ version: 0.3.0
273
+ type: :development
274
+ prerelease: false
275
+ version_requirements: !ruby/object:Gem::Requirement
276
+ requirements:
277
+ - - ">="
278
+ - !ruby/object:Gem::Version
279
+ version: 0.3.0
280
+ - !ruby/object:Gem::Dependency
281
+ name: coveralls
282
+ requirement: !ruby/object:Gem::Requirement
283
+ requirements:
284
+ - - ">="
285
+ - !ruby/object:Gem::Version
286
+ version: 0.7.0
287
+ type: :development
288
+ prerelease: false
289
+ version_requirements: !ruby/object:Gem::Requirement
290
+ requirements:
291
+ - - ">="
292
+ - !ruby/object:Gem::Version
293
+ version: 0.7.0
294
+ - !ruby/object:Gem::Dependency
295
+ name: localeapp
296
+ requirement: !ruby/object:Gem::Requirement
297
+ requirements:
298
+ - - ">="
299
+ - !ruby/object:Gem::Version
300
+ version: 0.7.2
301
+ type: :development
302
+ prerelease: false
303
+ version_requirements: !ruby/object:Gem::Requirement
304
+ requirements:
305
+ - - ">="
306
+ - !ruby/object:Gem::Version
307
+ version: 0.7.2
308
+ description: Print invoices from a spree order
309
+ email: hi@futhr.io
310
+ executables: []
311
+ extensions: []
312
+ extra_rdoc_files: []
313
+ files:
314
+ - ".gitignore"
315
+ - ".hound.yml"
316
+ - ".rspec"
317
+ - ".travis.yml"
318
+ - CONTRIBUTING.md
319
+ - Gemfile
320
+ - Guardfile
321
+ - LICENSE.md
322
+ - README.md
323
+ - Rakefile
324
+ - app/assets/javascripts/admin/spree_print_invoice.js
325
+ - app/assets/stylesheets/admin/spree_print_invoice.css
326
+ - app/controllers/spree/admin/orders_controller_decorator.rb
327
+ - app/controllers/spree/admin/print_invoice_settings_controller.rb
328
+ - app/overrides/add_print_invoice_to_admin_configuration_sidebar.rb
329
+ - app/overrides/layouts_admin_print_buttons_decorator.rb
330
+ - app/views/spree/admin/orders/_print_buttons.html.erb
331
+ - app/views/spree/admin/orders/invoice.pdf.prawn
332
+ - app/views/spree/admin/orders/packaging_slip.pdf.prawn
333
+ - app/views/spree/admin/print_invoice_settings/edit.html.erb
334
+ - bin/rails
335
+ - config/locales/de.yml
336
+ - config/locales/en.yml
337
+ - config/locales/es.yml
338
+ - config/locales/fr.yml
339
+ - config/locales/sv.yml
340
+ - config/routes.rb
341
+ - db/migrate/20140123094547_add_invoice_details_to_spree_orders.rb
342
+ - lib/generators/spree_print_invoice/install/install_generator.rb
343
+ - lib/prawn_handler.rb
344
+ - lib/spree/print_invoice_setting.rb
345
+ - lib/spree_print_invoice.rb
346
+ - lib/spree_print_invoice/engine.rb
347
+ - lib/spree_print_invoice/version.rb
348
+ - spec/features/spree/admin/print_invoice_setting_spec.rb
349
+ - spec/features/spree/admin/print_invoice_spec.rb
350
+ - spec/lib/prawn_handler_spec.rb
351
+ - spec/spec_helper.rb
352
+ - spec/support/capybara.rb
353
+ - spec/support/databse_cleaner.rb
354
+ - spec/support/factory_girl.rb
355
+ - spec/support/i18n.rb
356
+ - spec/support/matchers/have_text_like.rb
357
+ - spec/support/spree.rb
358
+ - spec/support/test.pdf.prawn
359
+ - spec/translations/locale_spec.rb
360
+ - spree_print_invoice.gemspec
361
+ homepage: https://github.com/futhr/spree-print-invoice
362
+ licenses:
363
+ - BSD-3
364
+ metadata: {}
365
+ post_install_message:
366
+ rdoc_options: []
367
+ require_paths:
368
+ - lib
369
+ required_ruby_version: !ruby/object:Gem::Requirement
370
+ requirements:
371
+ - - ">="
372
+ - !ruby/object:Gem::Version
373
+ version: 1.9.3
374
+ required_rubygems_version: !ruby/object:Gem::Requirement
375
+ requirements:
376
+ - - ">="
377
+ - !ruby/object:Gem::Version
378
+ version: '0'
379
+ requirements:
380
+ - none
381
+ rubyforge_project:
382
+ rubygems_version: 2.2.2
383
+ signing_key:
384
+ specification_version: 4
385
+ summary: Print invoices from a spree order
386
+ test_files:
387
+ - spec/features/spree/admin/print_invoice_setting_spec.rb
388
+ - spec/features/spree/admin/print_invoice_spec.rb
389
+ - spec/lib/prawn_handler_spec.rb
390
+ - spec/spec_helper.rb
391
+ - spec/support/capybara.rb
392
+ - spec/support/databse_cleaner.rb
393
+ - spec/support/factory_girl.rb
394
+ - spec/support/i18n.rb
395
+ - spec/support/matchers/have_text_like.rb
396
+ - spec/support/spree.rb
397
+ - spec/support/test.pdf.prawn
398
+ - spec/translations/locale_spec.rb