beerdb 1.0.1 → 1.1.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: 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