nabaztag_hack_kit 0.1.0.beta1 → 0.1.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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