flexquery_datastore 0.1.0 → 0.1.1

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: 5396d1a1fc23ca413a7edf78df7cdf48fe00866b
4
- data.tar.gz: 3fe7a9a0b538a2ab0ce24fb8acb23cc1818bf124
3
+ metadata.gz: 7a5499ea34bcb9b38735cb01457645d2241e7984
4
+ data.tar.gz: c0f019e55c361cc126a490db5f626afdf31f7f86
5
5
  SHA512:
6
- metadata.gz: 03b28ff426e62bebe050ac523f247563c9b502ef55de7f3c2e75194a0056230769beefbdd9ec6b36f0d63a7a015804e75c3f52fbc1fa4cdb21879b654ac36631
7
- data.tar.gz: 5a7411d80b99e0a62afe23afb955448e60240da566964553bc095aebcb8e00bf7c410503bcb05dd971a5f0a2c5fb6f027d832ceaf5456fb6648351a321d9693d
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
- This gem is for the DataStore product offered by [FlexQuery](flexquery.com). It provides an ORM mapping on top of the DataStore database.
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
@@ -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.0"
25
+ spec.add_development_dependency "rspec", "~> 3.3"
26
26
 
27
- spec.add_runtime_dependency "data_mapper", "~> 1.2.0"
28
- spec.add_runtime_dependency "dm-postgres-adapter", "~> 1.2.0"
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
- products = self.variants.uniq { |variant| variant.desc1 }
20
- product_ids = products.map { |product| product.desc1 }
21
- DataStore::Product.all(desc1: product_ids)
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
- products = self.variants.uniq { |variant| variant.desc1 }
13
- product_ids = products.map { |product| product.desc1 }
14
- DataStore::Product.all(desc1: product_ids)
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
@@ -1,3 +1,3 @@
1
1
  module FlexqueryDatastore
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  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.0
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-16 00:00:00.000000000 Z
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.0
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.0
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.0
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.0
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.0
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.0
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