art-gun 0.1.1 → 0.1.2
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 +4 -4
- data/art-gun.gemspec +3 -2
- data/lib/art_gun/order.rb +5 -0
- data/lib/art_gun/order_item.rb +8 -3
- data/lib/art_gun/order_item_attribute.rb +2 -1
- data/lib/art_gun/version.rb +1 -1
- metadata +24 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5c5bfadf644a85610aee6810337476b02718c8c
|
4
|
+
data.tar.gz: 1767af707121de560fe02cf4b2ba6653632fc123
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: def45b412ef3bd3016f014c228ffa391a976d9b5131b6ad0393a09d2e6e7ef9024bdf2218485844715a639f50bf740734d54a140b9fe9691cec8811cb91316ca
|
7
|
+
data.tar.gz: 8bc9a21b91c545cbb34bf5603a63de05af511f5ed1b8677e4fd3ef8330eea669ab4335eef847bcf332203e3e6b0ac53220e10ad851324f1b29e241d3221816fc
|
data/art-gun.gemspec
CHANGED
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
|
24
24
|
spec.add_development_dependency "bundler", "~> 1.10"
|
25
25
|
spec.add_development_dependency "rake", "~> 10.0"
|
26
|
-
spec.add_development_dependency "rspec"
|
27
|
-
spec.add_development_dependency "dotenv"
|
26
|
+
spec.add_development_dependency "rspec", "~> 3.3"
|
27
|
+
spec.add_development_dependency "dotenv", "~> 2.0"
|
28
|
+
spec.add_development_dependency "factory_girl", "~> 4.0"
|
28
29
|
end
|
data/lib/art_gun/order.rb
CHANGED
@@ -22,6 +22,11 @@ module ArtGun
|
|
22
22
|
length: {maximum: 15}
|
23
23
|
validates :shipping_email, :billing_email,
|
24
24
|
length: {maximum: 65}
|
25
|
+
validates :items,
|
26
|
+
length: {minimum: 1}
|
27
|
+
validate do
|
28
|
+
errors.add :items, "One or more items are not valid" if items and items.any? &:invalid?
|
29
|
+
end
|
25
30
|
|
26
31
|
|
27
32
|
def type
|
data/lib/art_gun/order_item.rb
CHANGED
@@ -3,20 +3,25 @@ module ArtGun
|
|
3
3
|
include ActiveModel::Model
|
4
4
|
include ActiveModel::Serializers::JSON
|
5
5
|
|
6
|
-
@@attrs = %i(name sku quantity unit_amount subtotal_amount necklabel_binid
|
6
|
+
@@attrs = %i(name sku quantity unit_amount subtotal_amount necklabel_binid attrs)
|
7
7
|
cattr_reader :attrs
|
8
8
|
attr_accessor *attrs
|
9
9
|
|
10
10
|
validates :name, :sku, :quantity, presence: true
|
11
11
|
validates :name, length: {maximum: 64}
|
12
|
+
validates :attrs,
|
13
|
+
length: {minimum: 1}
|
14
|
+
validate do
|
15
|
+
errors.add :attrs, "One or more attributes (#attrs) are not valid" if attrs and attrs.any? &:invalid?
|
16
|
+
end
|
12
17
|
|
13
18
|
def attributes
|
14
19
|
self.class.attrs.inject({}){|h,k| h[k.to_s] = nil; h}
|
15
20
|
end
|
16
21
|
|
17
|
-
def as_json opts = {include: :
|
22
|
+
def as_json opts = {include: :attrs}
|
18
23
|
hash = super opts
|
19
|
-
hash['attributes'] = hash.delete('
|
24
|
+
hash['attributes'] = hash.delete('attrs') # to avoid name conflict in model
|
20
25
|
hash
|
21
26
|
end
|
22
27
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module ArtGun
|
2
|
-
class
|
2
|
+
class OrderItemAttribute
|
3
3
|
include ActiveModel::Model
|
4
4
|
include ActiveModel::Serializers::JSON
|
5
5
|
|
@@ -13,6 +13,7 @@ module ArtGun
|
|
13
13
|
validates :location, inclusion: {in: %w(FNL)}, if: ->(a) { a.type == 'HeatTransfer' }
|
14
14
|
validates :location, inclusion: {in: %w(FN)}, if: ->(a) { a.type == 'HangTag' }
|
15
15
|
validates :file_url, :file_extension, presence: true, if: ->(a) { a.type == 'DigitalPrint' }
|
16
|
+
validates :file_extension, inclusion: {in: %w(jpg png)}, if: ->(a) { a.file_extension.present? }
|
16
17
|
|
17
18
|
def attributes
|
18
19
|
self.class.attrs.inject({}){|h,k| h[k.to_s] = nil; h}
|
data/lib/art_gun/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: art-gun
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lars Kluge
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -56,30 +56,44 @@ dependencies:
|
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '3.3'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '3.3'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: dotenv
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
75
|
+
version: '2.0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: factory_girl
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '4.0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
96
|
+
version: '4.0'
|
83
97
|
description: A Ruby wrapper to access Art-Gun's API.
|
84
98
|
email:
|
85
99
|
- l@larskluge.com
|