flexquery_datastore 0.1.0 → 0.1.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 +4 -4
- data/README.md +8 -1
- data/flexquery_datastore-0.1.0.gem +0 -0
- data/flexquery_datastore.gemspec +3 -3
- data/lib/flexquery_datastore/models/Category.rb +8 -5
- data/lib/flexquery_datastore/models/PriceLevel.rb +14 -0
- data/lib/flexquery_datastore/models/Product.rb +4 -1
- data/lib/flexquery_datastore/models/Stock.rb +8 -3
- data/lib/flexquery_datastore/models/Store.rb +4 -2
- data/lib/flexquery_datastore/models/Variant.rb +17 -3
- data/lib/flexquery_datastore/models/Vendor.rb +5 -3
- data/lib/flexquery_datastore/version.rb +1 -1
- metadata +10 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7a5499ea34bcb9b38735cb01457645d2241e7984
|
4
|
+
data.tar.gz: c0f019e55c361cc126a490db5f626afdf31f7f86
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4fae9c66dfb2152f0a79ac99016eb57a9f66704941ea3082f96b1ab32540e4918e62435c1dd063eb64216dccf31382dfc8192aa38d4668fbc2727fbeb21c8783
|
7
|
+
data.tar.gz: 9f20addb2913815d7b0bc036a8d7870a8da2664777e5af3b49fa1319fea35d11bd67bd97ff48ba597c4c1edbbe4bd1fe51c05fc368032c2e3fef609bcd8b9e7e
|
data/README.md
CHANGED
@@ -20,7 +20,9 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
## Usage
|
22
22
|
|
23
|
-
|
23
|
+
The main use of this gem is to help gain access to data in a Retail Pro 8 or Retail Pro 9 system so you can build your own tools on top of Retail Pro, or migrate all of your existing Retail Pro data to a new inventory management system.
|
24
|
+
|
25
|
+
This gem does not interface directly with RetailPro, instead it communicates with the DataStore product offered by [FlexQuery](flexquery.com). It provides an ORM mapping on top of the DataStore database.
|
24
26
|
|
25
27
|
[DataMapper](http://datamapper.org/) was used as the ORM library. You can use [DataMapper query methods](http://datamapper.org/docs/find.html) on all objects created by this gem.
|
26
28
|
|
@@ -76,6 +78,11 @@ vendor = DataStore::Vendor.first
|
|
76
78
|
vendor.variants
|
77
79
|
vendor.products
|
78
80
|
```
|
81
|
+
### Rake Tasks
|
82
|
+
To open up an irb session with this gem loaded in type:
|
83
|
+
```ruby
|
84
|
+
rake console
|
85
|
+
```
|
79
86
|
|
80
87
|
## Development
|
81
88
|
|
Binary file
|
data/flexquery_datastore.gemspec
CHANGED
@@ -22,8 +22,8 @@ Gem::Specification.new do |spec|
|
|
22
22
|
|
23
23
|
spec.add_development_dependency "bundler", "~> 1.8"
|
24
24
|
spec.add_development_dependency "rake", "~> 10.0"
|
25
|
-
spec.add_development_dependency "rspec", "~> 3.3
|
25
|
+
spec.add_development_dependency "rspec", "~> 3.3"
|
26
26
|
|
27
|
-
spec.add_runtime_dependency "data_mapper", "~> 1.2
|
28
|
-
spec.add_runtime_dependency "dm-postgres-adapter", "~> 1.2
|
27
|
+
spec.add_runtime_dependency "data_mapper", "~> 1.2"
|
28
|
+
spec.add_runtime_dependency "dm-postgres-adapter", "~> 1.2"
|
29
29
|
end
|
@@ -4,8 +4,6 @@ module DataStore
|
|
4
4
|
storage_names[:default] = "rp8inventorydepartments"
|
5
5
|
property :dcs, String, field: "dcs", key: true
|
6
6
|
|
7
|
-
has n, :variants, child_key: [:dcs]
|
8
|
-
|
9
7
|
property :dept, String, field: "dept"
|
10
8
|
property :class, String, field: "class"
|
11
9
|
property :subclass, String, field: "subclass"
|
@@ -16,9 +14,14 @@ module DataStore
|
|
16
14
|
property :puredcs, String, field: "puredcs"
|
17
15
|
|
18
16
|
def products
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
product_ids = repository.adapter
|
18
|
+
.select('SELECT desc1 FROM rp8inventoryitems WHERE dcs = ?', self.dcs)
|
19
|
+
.uniq
|
20
|
+
DataStore::Product.all(desc1: product_ids, unique: true)
|
21
|
+
end
|
22
|
+
|
23
|
+
def variants
|
24
|
+
DataStore::Variant.all(dcs: self.dcs)
|
22
25
|
end
|
23
26
|
end
|
24
27
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module DataStore
|
2
|
+
class PriceLevel
|
3
|
+
include DataMapper::Resource
|
4
|
+
storage_names[:default] = "rp8inventorypricelevels"
|
5
|
+
property :itemsid, Integer, field: "itemsid", key: true
|
6
|
+
property :pricelevel, Integer, field: "pricelevel", key: true
|
7
|
+
|
8
|
+
property :price, Float, field: "p$"
|
9
|
+
|
10
|
+
def variant
|
11
|
+
DataStore::Variant.first(itemsid: self.itemsid)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -4,7 +4,6 @@ module DataStore
|
|
4
4
|
storage_names[:default] = "rp8inventoryitems"
|
5
5
|
property :desc1, String, field: "desc1", key: true
|
6
6
|
|
7
|
-
has n, :variants, child_key: [:desc1]
|
8
7
|
belongs_to :vendor, child_key: [:vendorcode]
|
9
8
|
belongs_to :category, child_key: [:dcs]
|
10
9
|
|
@@ -18,5 +17,9 @@ module DataStore
|
|
18
17
|
property :core, String, field: "udf2"
|
19
18
|
property :udf3, String, field: "udf3"
|
20
19
|
property :stylesid, Integer, field: "stylesid"
|
20
|
+
|
21
|
+
def variants
|
22
|
+
DataStore::Variant.all(desc1: self.desc1)
|
23
|
+
end
|
21
24
|
end
|
22
25
|
end
|
@@ -5,12 +5,17 @@ module DataStore
|
|
5
5
|
property :itemsid, Integer, field: "itemsid", key: true
|
6
6
|
property :storeno, Integer, field: "storeno", key: true
|
7
7
|
|
8
|
-
belongs_to :variant, child_key: [:itemsid]
|
9
|
-
belongs_to :store, child_key: [:storeno]
|
10
|
-
|
11
8
|
property :onhand, Integer, field: "onhand"
|
12
9
|
property :onorder, Integer, field: "onorder"
|
13
10
|
property :received, Integer, field: "received"
|
14
11
|
property :sold, Integer, field: "sold"
|
12
|
+
|
13
|
+
def variant
|
14
|
+
DataStore::Variant.first(itemsid: self.itemsid)
|
15
|
+
end
|
16
|
+
|
17
|
+
def store
|
18
|
+
DataStore::Store.first(storeno: self.storeno)
|
19
|
+
end
|
15
20
|
end
|
16
21
|
end
|
@@ -4,9 +4,11 @@ module DataStore
|
|
4
4
|
storage_names[:default] = "stores"
|
5
5
|
property :storeno, Integer, field: "storeno", key: true
|
6
6
|
|
7
|
-
has n, :stocks, child_key: [:storeno]
|
8
|
-
|
9
7
|
property :storecode, Integer, field: "storecode"
|
10
8
|
property :name, String, field: "storename"
|
9
|
+
|
10
|
+
def stocks
|
11
|
+
DataStore::Stock.all(storeno: self.storeno)
|
12
|
+
end
|
11
13
|
end
|
12
14
|
end
|
@@ -4,11 +4,9 @@ module DataStore
|
|
4
4
|
storage_names[:default] = "rp8inventoryitems"
|
5
5
|
property :itemsid, Integer, field: "itemsid", key: true
|
6
6
|
|
7
|
-
has n, :stocks, child_key: [:itemsid]
|
8
|
-
belongs_to :product, child_key: [:desc1]
|
9
7
|
belongs_to :vendor, child_key: [:vendorcode]
|
10
|
-
belongs_to :category, child_key: [:dcs]
|
11
8
|
|
9
|
+
property :dcs, String, field: "dcs"
|
12
10
|
property :desc1, String, field: "desc1"
|
13
11
|
property :attr, String, field: "attr"
|
14
12
|
property :size, String, field: "size"
|
@@ -38,5 +36,21 @@ module DataStore
|
|
38
36
|
property :salediscpercent, Float, field: "salediscpercent"
|
39
37
|
property :saledisc, Integer, field: "saledisc"
|
40
38
|
property :totaltax, Float, field: "totaltax"
|
39
|
+
|
40
|
+
def price_levels
|
41
|
+
DataStore::PriceLevel.all(itemsid: self.itemsid)
|
42
|
+
end
|
43
|
+
|
44
|
+
def product
|
45
|
+
DataStore::Product.first(desc1: self.desc1)
|
46
|
+
end
|
47
|
+
|
48
|
+
def stocks
|
49
|
+
DataStore::Stock.all(itemsid: self.itemsid)
|
50
|
+
end
|
51
|
+
|
52
|
+
def category
|
53
|
+
DataStore::Category.first(dcs: self.dcs)
|
54
|
+
end
|
41
55
|
end
|
42
56
|
end
|
@@ -9,9 +9,11 @@ module DataStore
|
|
9
9
|
property :name, String, field: "company"
|
10
10
|
|
11
11
|
def products
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
product_ids = repository.adapter
|
13
|
+
.select('SELECT desc1 FROM rp8inventoryitems WHERE vendorcode = ?',
|
14
|
+
self.vendorcode)
|
15
|
+
.uniq
|
16
|
+
DataStore::Product.all(desc1: product_ids, unique: true)
|
15
17
|
end
|
16
18
|
end
|
17
19
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flexquery_datastore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eli Shkurkin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -44,42 +44,42 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 3.3
|
47
|
+
version: '3.3'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 3.3
|
54
|
+
version: '3.3'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: data_mapper
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.2
|
61
|
+
version: '1.2'
|
62
62
|
type: :runtime
|
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: 1.2
|
68
|
+
version: '1.2'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: dm-postgres-adapter
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 1.2
|
75
|
+
version: '1.2'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 1.2
|
82
|
+
version: '1.2'
|
83
83
|
description: |-
|
84
84
|
This gem is for the DataStore product offered by FlexQuery (flexquery.com).
|
85
85
|
It provides an ORM layer on top of the DataStore database.
|
@@ -99,9 +99,11 @@ files:
|
|
99
99
|
- Rakefile
|
100
100
|
- bin/console
|
101
101
|
- bin/setup
|
102
|
+
- flexquery_datastore-0.1.0.gem
|
102
103
|
- flexquery_datastore.gemspec
|
103
104
|
- lib/flexquery_datastore.rb
|
104
105
|
- lib/flexquery_datastore/models/Category.rb
|
106
|
+
- lib/flexquery_datastore/models/PriceLevel.rb
|
105
107
|
- lib/flexquery_datastore/models/Product.rb
|
106
108
|
- lib/flexquery_datastore/models/Stock.rb
|
107
109
|
- lib/flexquery_datastore/models/Store.rb
|