beerdb 1.0.1 → 1.1.0

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: 17f9cc74689ce9d1208acaab5188304387681738
4
- data.tar.gz: 66ca767ba0474ff0f8ba87226f07e5466c005bc2
3
+ metadata.gz: aa3ae86d75d365735a666895e19a92eeccc6c631
4
+ data.tar.gz: 4e454b4cd405ef04b411d43cf8a8c7109a51b104
5
5
  SHA512:
6
- metadata.gz: 85c93d3258a2c2c5ba40e9cf6ea791ff851ed5385f87153d5e5fed5656b3ef22680af9501e1ab951d47af04697bbf16d3fe541209587e1a88864d24ce0d54b38
7
- data.tar.gz: b1ad9f90444df6d7070f8191866626780787107d251ec8db1c1102d4aa073e6f50b763cd81a68a5c1d1e787c43e8036adec03bb14c8ba96f0349dd80a33acab6
6
+ metadata.gz: 40dcaf38f8629df1cf69a08233fef65b627c59bf1201bc328f53f5b996d9bef80090ec780ebaf4019c39363dd94ae3cd930a00ee309760b833636adbf83b4d91
7
+ data.tar.gz: 97c9a920622ee255d1e22185d1cbf6e70dcf47497ba220bab795c42e9a93ec68733dc6daa4fbf02dfd3fafb01af6720ef7bf7b344eee71562c9ecb69372ea8e7
@@ -1,10 +1,10 @@
1
- HISTORY.md
2
- Manifest.txt
3
- README.md
4
- Rakefile
5
- bin/beerdb
6
- lib/beerdb.rb
7
- lib/beerdb/cli/main.rb
8
- lib/beerdb/cli/opts.rb
9
- lib/beerdb/cli/version.rb
10
- lib/beerdb/console.rb
1
+ HISTORY.md
2
+ Manifest.txt
3
+ README.md
4
+ Rakefile
5
+ bin/beerdb
6
+ lib/beerdb.rb
7
+ lib/beerdb/cli/main.rb
8
+ lib/beerdb/cli/opts.rb
9
+ lib/beerdb/cli/version.rb
10
+ lib/beerdb/console.rb
data/Rakefile CHANGED
@@ -24,6 +24,7 @@ Hoe.spec 'beerdb' do
24
24
 
25
25
  ['datafile', '>= 0.2.5'],
26
26
  ['fetcher', '>= 0.4.5'],
27
+ ['webservice', '>= 0.2.1'],
27
28
 
28
29
  ## 3rd party
29
30
  ['gli', '>= 2.12.2'],
@@ -1,7 +1,10 @@
1
1
  # encoding: utf-8
2
2
 
3
+
3
4
  require 'beerdb/models' # Note: pull in all required deps via beerdb-models
5
+ require 'beerdb/note' # add extension/addon for notes etc.
4
6
 
7
+ require 'webservice'
5
8
 
6
9
  require 'fetcher'
7
10
  require 'datafile'
@@ -24,4 +27,13 @@ module BeerDb
24
27
  end # module BeerDb
25
28
 
26
29
 
30
+ ####
31
+ ## used for server/service command
32
+ ## "preconfigured" base class for webservice
33
+ class BeerDbService < Webservice::Base
34
+ include BeerDb::Models # e.g. Beer, Brewery, Brand, etc.
35
+ end
36
+
37
+
38
+
27
39
  BeerDb.main if __FILE__ == $0
@@ -275,6 +275,40 @@ end
275
275
 
276
276
 
277
277
 
278
+ desc 'Start web service (HTTP JSON API)'
279
+ arg_name 'NAME' # optional setup profile name
280
+ command [:serve,:server,:s] do |c|
281
+
282
+ c.action do |g,o,args|
283
+
284
+ ## todo: document optional script arg (defaults to service)
285
+ script = args[0] || 'service'
286
+
287
+ script_path = "#{script}.rb" ## auto-add .rb extension
288
+ ###############
289
+ ## todo/fix: add fetch if not found locally!!!
290
+
291
+ ## fix: use textutils File.read_utf8 !!!!
292
+ code = File.open( script_path, 'r:bom|utf-8' ).read
293
+
294
+ connect_to_db( opts )
295
+
296
+ BeerDb.tables ## print table stats
297
+
298
+ BeerDbService.class_eval( code ) ## note: MUST use class_eval (do NOT use instance_eval) !!!
299
+
300
+ puts "dump routes:"
301
+ pp BeerDbService.routes
302
+
303
+ puts "starting server..."
304
+ BeerDbService.run!
305
+
306
+ puts 'Done.'
307
+ end
308
+ end # command serve
309
+
310
+
311
+
278
312
  desc '(Debug) Test command suite'
279
313
  command :test do |c|
280
314
  c.action do |g,o,args|
@@ -6,8 +6,8 @@
6
6
  module BeerDbTool # todo/check - rename to BeerDbCli or BeerDbCommands or BeerDbShell ??
7
7
 
8
8
  MAJOR = 1
9
- MINOR = 0
10
- PATCH = 1
9
+ MINOR = 1
10
+ PATCH = 0
11
11
  VERSION = [MAJOR,MINOR,PATCH].join('.')
12
12
 
13
13
  def self.version
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beerdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.4.5
69
+ - !ruby/object:Gem::Dependency
70
+ name: webservice
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 0.2.1
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 0.2.1
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: gli
71
85
  requirement: !ruby/object:Gem::Requirement