invoicing 1.0.0 → 1.0.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 460fa683bd1ba56dede941135a9db41b2b7236cf
4
- data.tar.gz: 0ab573110cdf7d5c6bb424b2f69880f2f3a6d347
3
+ metadata.gz: 9f3972f667d3265b67721b85f92ec36d6a112c53
4
+ data.tar.gz: 8a48030d2cec91e38d9cd13be8f689e0b255f563
5
5
  SHA512:
6
- metadata.gz: cf54abdd39ade52d2c41ad3757cd4b4b482853bb189e0ac0fe8371a6b5641de5f702557159a61a3d0332a012493b0258420ed7624306b5ff8cb6edb8e306c7b8
7
- data.tar.gz: 4a41f9ba2236663d0463348cf5880a89e4d54e4d342e59ba147de4d8d33a4a1ba607422112e6b6db2d18d86d68c7c4eeb124eace3c2c9af7ed81451026466edc
6
+ metadata.gz: 0c24c29ba8dd15f8d65bf4d091a7e6edcc3e8bb7189173b6f647fa771f2926fe6f2ede2e106452a39fd647b106f11d3a7d0cc0060b3c81ecd73ff87761bbd907
7
+ data.tar.gz: cbafde8f986ec7a4b9fb8d4da1b8ea0e28743f09a65783dbcb73ed857ef295cfb9549e5b64797aa7d30cb9cb3f48af2a9744c185224d3173d7164e4560050b49
data/README.md CHANGED
@@ -7,8 +7,13 @@
7
7
  This is a framework for generating and displaying invoices (ideal for commercial
8
8
  Rails apps). It allows for flexible business logic; provides tools for tax handling,
9
9
  commission calculation etc. It aims to be both developer-friendly and
10
- accountant-friendly. Please visit invoicing [page](http://invoicing.codemancers.com/)
11
- for more information about how to install and use.
10
+ accountant-friendly.
11
+
12
+ ## Documentation
13
+
14
+ Detailed documentation about `invoicing` gem can be found on:
15
+
16
+ http://invoicing.codemancers.com/
12
17
 
13
18
  ## Features
14
19
 
@@ -376,17 +376,19 @@ module Invoicing
376
376
  }
377
377
 
378
378
  scope :sorted, lambda { |column|
379
+ table = ledger_item_class_info.method(quoted_table_name).to_s
379
380
  column = ledger_item_class_info.method(column).to_s
380
381
  if column_names.include?(column)
381
- order("#{connection.quote_column_name(column)}, #{connection.quote_column_name(primary_key)}")
382
+ order("#{table}.#{connection.quote_column_name(column)}, #{table}.#{connection.quote_column_name(primary_key)}")
382
383
  else
383
- order(connection.quote_column_name(primary_key))
384
+ order("#{table}.#{connection.quote_column_name(primary_key)}")
384
385
  end
385
386
  }
386
387
 
387
388
  scope :exclude_empty_invoices, lambda {
388
389
  line_items_assoc_id = ledger_item_class_info.method(:line_items).to_sym
389
- line_items_refl = reflections[line_items_assoc_id]
390
+ line_items_refl = reflections[line_items_assoc_id] ||
391
+ reflections[line_items_assoc_id.to_s]
390
392
  line_items_table = line_items_refl.quoted_table_name
391
393
 
392
394
  # e.g. `ledger_items`.`id`
@@ -164,18 +164,19 @@ module Invoicing
164
164
  # Dynamically created named scopes
165
165
  scope :in_effect, lambda {
166
166
  ledger_assoc = line_item_class_info.method(:ledger_item).to_sym
167
- ledger_refl = reflections[ledger_assoc]
167
+ ledger_refl = reflections[ledger_assoc] || reflections[ledger_assoc.to_s]
168
168
  ledger_table = ledger_refl.table_name # not quoted_table_name because it'll be quoted again
169
169
  status_column = ledger_refl.klass.send(:ledger_item_class_info).method(:status)
170
170
  joins(ledger_assoc).where("#{ledger_table}.#{status_column}" => ['closed', 'cleared'])
171
171
  }
172
172
 
173
173
  scope :sorted, lambda { |column|
174
+ table = line_item_class_info.method(quoted_table_name).to_s
174
175
  column = line_item_class_info.method(column).to_s
175
176
  if column_names.include?(column)
176
- order("#{connection.quote_column_name(column)}, #{connection.quote_column_name(primary_key)}")
177
+ order("#{table}.#{connection.quote_column_name(column)}, #{table}.#{connection.quote_column_name(primary_key)}")
177
178
  else
178
- order(connection.quote_column_name(primary_key))
179
+ order("#{table}.#{connection.quote_column_name(primary_key)}")
179
180
  end
180
181
  }
181
182
  end
@@ -250,7 +250,12 @@ module Invoicing
250
250
  @taxed_or_untaxed[attribute] = :untaxed
251
251
  @taxed_attributes[attribute] = nil
252
252
  elsif attribute =~ /^(#{attr_regex})_taxed$/
253
- @attributes[attribute] = value
253
+ if ActiveRecord::VERSION::MAJOR == 4 && ActiveRecord::VERSION::MINOR >= 2
254
+ @attributes.write_cast_value(attribute, value)
255
+ else
256
+ @attributes[attribute] = value
257
+ end
258
+
254
259
  @taxed_or_untaxed[$1] = :taxed
255
260
  @taxed_attributes[$1] = value
256
261
  end
@@ -2,7 +2,7 @@ module Invoicing
2
2
  module Version
3
3
  MAJOR = 1
4
4
  MINOR = 0
5
- BUILD = 0
5
+ BUILD = 1
6
6
 
7
7
  def to_a
8
8
  [MAJOR, MINOR, BUILD]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: invoicing
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Kleppmann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-14 00:00:00.000000000 Z
11
+ date: 2015-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: flexmock
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: minitest
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -121,7 +107,7 @@ files:
121
107
  - lib/rails/generators/invoicing/tax_rate/tax_rate_generator.rb
122
108
  - lib/rails/generators/invoicing/tax_rate/templates/migration.rb
123
109
  - lib/rails/generators/invoicing/tax_rate/templates/model.rb
124
- homepage: http://ept.github.com/invoicing
110
+ homepage: http://invoicing.codemancers.com/
125
111
  licenses: []
126
112
  metadata: {}
127
113
  post_install_message:
@@ -140,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
126
  version: '0'
141
127
  requirements: []
142
128
  rubyforge_project:
143
- rubygems_version: 2.2.0.rc.1
129
+ rubygems_version: 2.4.5
144
130
  signing_key:
145
131
  specification_version: 4
146
132
  summary: Ruby Invoicing Framework