nabaztag_hack_kit 0.1.0.beta1 → 0.1.0.beta2

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.
@@ -2,11 +2,9 @@
2
2
 
3
3
  $LOAD_PATH.unshift ::File.expand_path(::File.dirname(__FILE__) + '/lib')
4
4
  require './server'
5
- require 'nabaztag_hack_kit/redirect'
6
5
 
7
6
  $stdout.sync = true
8
7
 
9
8
  use Rack::Reloader, 0
10
- use NabaztagHackKit::Redirect
11
9
 
12
10
  run Basic::Server.new
@@ -32,9 +32,7 @@ module NabaztagHackKit
32
32
 
33
33
  app.post "/playground/bunnies/:bunnyid" do # {"command"=>["40"], "command_values"=>[["1,2,3,4"],[]]}
34
34
  if bunny = Bunny.find(params[:bunnyid])
35
- bunny.queue_commands(Array(params[:command]).zip(params[:command_values]).map do |command, values|
36
- [command, *values.split(",")]
37
- end)
35
+ bunny.queue_commands commands(params[:command], params[:command_values])
38
36
  bunny.to_json
39
37
  end
40
38
  end
@@ -42,9 +40,7 @@ module NabaztagHackKit
42
40
  app.post "/playground/bunnies" do # {"bunny"=>["0019db9c2daf"], "command"=>["40"], "command_values"=>[["1,2,3,4"],[]]}
43
41
  Array(params[:bunny]).uniq.each do |bunnyid|
44
42
  if bunny = Bunny.find(bunnyid)
45
- bunny.queue_commands(Array(params[:command]).zip(params[:command_values]).map do |command, values|
46
- [command, *values.split(",")]
47
- end)
43
+ bunny.queue_commands commands(params[:command], params[:command_values])
48
44
  end
49
45
  end
50
46
 
@@ -67,6 +63,22 @@ module NabaztagHackKit
67
63
  end
68
64
  end
69
65
 
66
+ private
67
+ def commands(commands, command_values)
68
+ Array(commands).zip(command_values).map do |command, values|
69
+ [command] + int_array(values.split(","))
70
+ end
71
+ end
72
+
73
+ def int_array(array)
74
+ array.map do |entry|
75
+ if entry.to_i.to_s == entry
76
+ entry.to_i
77
+ else
78
+ entry
79
+ end
80
+ end
81
+ end
70
82
  end
71
83
  end
72
84
  end
@@ -1,3 +1,3 @@
1
1
  module NabaztagHackKit
2
- VERSION = "0.1.0.beta1"
2
+ VERSION = "0.1.0.beta2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nabaztag_hack_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.beta1
4
+ version: 0.1.0.beta2
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bytecode/bin
11
11
  cert_chain: []
12
- date: 2013-01-03 00:00:00.000000000 Z
12
+ date: 2013-01-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sinatra
@@ -225,7 +225,6 @@ files:
225
225
  - lib/nabaztag_hack_kit/public/index.html
226
226
  - lib/nabaztag_hack_kit/public/jquery.min.js
227
227
  - lib/nabaztag_hack_kit/public/jquery.timeago.js
228
- - lib/nabaztag_hack_kit/redirect.rb
229
228
  - lib/nabaztag_hack_kit/server.rb
230
229
  - lib/nabaztag_hack_kit/version.rb
231
230
  - nabaztag_hack_kit.gemspec
@@ -1,37 +0,0 @@
1
- require 'open-uri'
2
-
3
- # a rack middleware to redirect(Proxy through) certain request to another service
4
- #
5
- # it's the prefered solution for developing, so your bunny still points to live server but any request
6
- # get forwarded to dev machine
7
- module NabaztagHackKit
8
- class Redirect
9
- def initialize(app)
10
- @app = app
11
- end
12
-
13
- def call(env)
14
- path = env['PATH_INFO']
15
- query = env['QUERY_STRING']
16
- if path =~ /\/redirect/
17
- req = Rack::Request.new(env)
18
- if (to = req.params["to"]) && !to.empty?
19
- @redirect = to
20
- render "Redirect turned on to #{@redirect}"
21
- else
22
- @redirect = nil
23
- render "Redirect turned off"
24
- end
25
- elsif @redirect
26
- render open("#{@redirect}#{path}?#{query}")
27
- else
28
- @app.call(env)
29
- end
30
- end
31
-
32
- private
33
- def render(response)
34
- [response.status.first.to_i, {"Content-Type" => response.content_type}, Array(response)]
35
- end
36
- end
37
- end