spree-print-invoice 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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