product_rails 0.1.4 → 0.2.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5445440be14686d89a73474e75f3f76f242c3090
|
4
|
+
data.tar.gz: 890ce73e04692414d3cd262f8244988f7b30c08d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8e220fbda29f31a2168cb8aef44b476e0ce3a6f5182b1364764ed8e812f205fc014841a83bba2049b96fe8e8d952089e9dbba7a5188efd7a2b0ab07e65b02088
|
7
|
+
data.tar.gz: 3f24d70a59ba0799afee90ffd432b6cfe4956140d38d7d2269cb9833848922bb933950ae69306c8300fe8dd30cbd46d432bf90130bb93ec1cc3205c60caf86e6
|
data/app/models/product.rb
CHANGED
@@ -7,13 +7,28 @@ class Product < ActiveRecord::Base
|
|
7
7
|
validates :sku, uniqueness: true
|
8
8
|
validates :stock, :min_stock, numericality: {only_integer: true}
|
9
9
|
validates :price, numericality: {greater_than_or_equal_to: 0}, allow_nil: true
|
10
|
+
validates :promotional_price, numericality: {greater_than_or_equal_to: 0}, allow_nil: true
|
10
11
|
validates :tax, numericality: {greater_than_or_equal_to: 0}, allow_nil: true
|
11
12
|
validates :weight, numericality: {greater_than_or_equal_to: 0}, allow_nil: true
|
12
13
|
|
13
14
|
friendly_id :slug_candidates, use: [:slugged, :finders]
|
14
15
|
|
16
|
+
scope :promotional, -> { where('promotional_price is not null and promotional_price > 0') }
|
17
|
+
|
15
18
|
def slug_candidates
|
16
19
|
[[:name, :sku]]
|
17
20
|
end
|
18
21
|
|
22
|
+
def current_price
|
23
|
+
promotional_price? ? promotional_price : price
|
24
|
+
end
|
25
|
+
|
26
|
+
def promotional_price?
|
27
|
+
promotional_price.present? && promotional_price.to_i > 0
|
28
|
+
end
|
29
|
+
|
30
|
+
def promotional_discount
|
31
|
+
promotional_price? ? (1 - promotional_price / price) * 100 : 0
|
32
|
+
end
|
33
|
+
|
19
34
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: product_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Orgânica Digital
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -67,6 +67,7 @@ files:
|
|
67
67
|
- db/migrate/20150209192603_rename_product_wheight_to_weight.rb
|
68
68
|
- db/migrate/20150210130905_change_product_decription_column_to_text.rb
|
69
69
|
- db/migrate/20150210155118_change_product_weight_and_description_to_allow_null.rb
|
70
|
+
- db/migrate/20160613143706_add_promotional_price_to_product.rb
|
70
71
|
- lib/product_rails.rb
|
71
72
|
- lib/product_rails/engine.rb
|
72
73
|
- lib/product_rails/version.rb
|
@@ -91,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
91
92
|
version: '0'
|
92
93
|
requirements: []
|
93
94
|
rubyforge_project:
|
94
|
-
rubygems_version: 2.4.
|
95
|
+
rubygems_version: 2.4.3
|
95
96
|
signing_key:
|
96
97
|
specification_version: 4
|
97
98
|
summary: A simple product representation for Rails applications.
|