daikon 0.2.0 → 0.3.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.
data/bin/daikon CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  require File.join(File.dirname(__FILE__), '..', 'lib', 'daikon')
4
4
 
5
- Daikon::Daemon.start
5
+ Daikon::Daemon.start(ARGV)
data/daikon.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{daikon}
8
- s.version = "0.2.0"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Nick Quaranto"]
12
- s.date = %q{2010-11-23}
12
+ s.date = %q{2010-11-29}
13
13
  s.default_executable = %q{daikon}
14
14
  s.description = %q{daikon, a radishapp.com client}
15
15
  s.email = %q{nick@quaran.to}
@@ -38,6 +38,7 @@ Gem::Specification.new do |s|
38
38
  "lib/daikon/namespace_tools.rb",
39
39
  "spec/client_spec.rb",
40
40
  "spec/configuration_spec.rb",
41
+ "spec/daemon_spec.rb",
41
42
  "spec/daikon_spec.rb",
42
43
  "spec/spec_helper.rb"
43
44
  ]
@@ -49,6 +50,7 @@ Gem::Specification.new do |s|
49
50
  s.test_files = [
50
51
  "spec/client_spec.rb",
51
52
  "spec/configuration_spec.rb",
53
+ "spec/daemon_spec.rb",
52
54
  "spec/daikon_spec.rb",
53
55
  "spec/spec_helper.rb"
54
56
  ]
data/lib/daikon.rb CHANGED
@@ -24,5 +24,5 @@ require 'daikon/client'
24
24
  require 'daikon/daemon'
25
25
 
26
26
  module Daikon
27
- VERSION = "0.2.0"
27
+ VERSION = "0.3.0"
28
28
  end
data/lib/daikon/client.rb CHANGED
@@ -17,7 +17,7 @@ module Daikon
17
17
  def setup(config, logger = nil)
18
18
  self.config = config
19
19
  self.logger = logger
20
- self.redis = Redis.new(:port => config.redis_port)
20
+ self.redis = Redis.new(:host => config.redis_host, :port => config.redis_port)
21
21
  self.http = Net::HTTP::Persistent.new
22
22
  http.headers['Authorization'] = config.api_key
23
23
 
@@ -1,8 +1,8 @@
1
1
  module Daikon
2
2
  class Configuration
3
- FLAGS = %w[-p -k -f -s]
4
- OPTIONS = %w[redis_port api_key field_id server_prefix]
5
- DEFAULTS = %w[6379 1234567890 1 https://radishapp.com]
3
+ FLAGS = %w[-h -p -k -f -s]
4
+ OPTIONS = %w[redis_host redis_port api_key field_id server_prefix]
5
+ DEFAULTS = %w[127.0.0.1 6379 1234567890 1 https://radishapp.com]
6
6
 
7
7
  attr_accessor *OPTIONS
8
8
 
@@ -18,8 +18,8 @@ module Daikon
18
18
  send "#{OPTIONS[flag_index]}=", value
19
19
  end
20
20
 
21
- if api_key == DEFAULTS[1] && argv.any? { |arg| arg =~ /start|run/ }
22
- abort "Must supply an api key to start the daemon.\nExample: daikon start #{FLAGS[1]} #{DEFAULTS[1]}"
21
+ if api_key == DEFAULTS[2] && argv.any? { |arg| arg =~ /start|run/ }
22
+ abort "Must supply an api key to start the daemon.\nExample: daikon start #{FLAGS[2]} #{DEFAULTS[2]}"
23
23
  end
24
24
  end
25
25
  end
data/lib/daikon/daemon.rb CHANGED
@@ -1,10 +1,15 @@
1
1
  module Daikon
2
2
  class Daemon
3
- def self.start
4
- config = Daikon::Configuration.new(ARGV)
3
+ def self.start(argv)
4
+ config = Daikon::Configuration.new(argv)
5
+
6
+ if argv.include?("-v") || argv.include?("--version")
7
+ puts "Daikon v#{VERSION}"
8
+ return
9
+ end
5
10
 
6
11
  Daemons.run_proc("daikon", :log_output => true, :backtrace => true) do
7
- if ARGV.include?("run")
12
+ if argv.include?("run")
8
13
  logger = Logger.new(STDOUT)
9
14
  else
10
15
  logger = Logger.new("/tmp/radish.log")
data/spec/client_spec.rb CHANGED
@@ -10,20 +10,20 @@ describe Daikon::Client, "setup" do
10
10
  subject.stubs(:redis=)
11
11
  end
12
12
 
13
- context "with defaults" do
14
- let(:config) { Daikon::Configuration.new(%w[-p 1234]) }
13
+ context "with overrides" do
14
+ let(:config) { Daikon::Configuration.new(%w[-h 8.8.8.8 -p 1234]) }
15
15
 
16
16
  before do
17
17
  subject.setup(config, logger)
18
18
  end
19
19
 
20
20
  it "sets redis to listen on the given port" do
21
- Redis.should have_received(:new).with(:port => "1234")
21
+ Redis.should have_received(:new).with(:host => "8.8.8.8", :port => "1234")
22
22
  subject.should have_received(:redis=).with(redis)
23
23
  end
24
24
  end
25
25
 
26
- context "with overrides" do
26
+ context "with defaults" do
27
27
  let(:config) { Daikon::Configuration.new([]) }
28
28
 
29
29
  before do
@@ -31,7 +31,7 @@ describe Daikon::Client, "setup" do
31
31
  end
32
32
 
33
33
  it "sets redis to listen on the given port" do
34
- Redis.should have_received(:new).with(:port => "6379")
34
+ Redis.should have_received(:new).with(:host => "127.0.0.1", :port => "6379")
35
35
  subject.should have_received(:redis=).with(redis)
36
36
  end
37
37
  end
@@ -2,9 +2,10 @@ require 'spec_helper'
2
2
 
3
3
  describe Daikon::Configuration do
4
4
  subject { Daikon::Configuration.new(flags) }
5
- let(:flags) { %w[-p 9001 -k deadbeef -s localhost:9337 -f 1337] }
5
+ let(:flags) { %w[-h 4.2.2.2 -p 9001 -k deadbeef -s localhost:9337 -f 1337] }
6
6
 
7
7
  it "parses the given flags" do
8
+ subject.redis_host.should == "4.2.2.2"
8
9
  subject.redis_port.should == "9001"
9
10
  subject.api_key.should == "deadbeef"
10
11
  subject.field_id.should == "1337"
@@ -16,6 +17,7 @@ describe Daikon::Configuration do
16
17
  subject { Daikon::Configuration.new(%w[-k 1234567890]) }
17
18
 
18
19
  it "uses the default keys" do
20
+ subject.redis_host.should == "127.0.0.1"
19
21
  subject.redis_port.should == "6379"
20
22
  subject.api_key.should == "1234567890"
21
23
  subject.field_id.should == "1"
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+
3
+ describe Daikon::Daemon do
4
+ %w[-v --version].each do |flag|
5
+ it "shows the daikon version with #{flag}" do
6
+ old_stdout = $stdout
7
+ $stdout = StringIO.new("")
8
+ Daikon::Daemon.start([flag])
9
+ $stdout.string.should include(Daikon::VERSION)
10
+ $stdout = old_stdout
11
+ end
12
+ end
13
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: daikon
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 2
8
+ - 3
9
9
  - 0
10
- version: 0.2.0
10
+ version: 0.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Nick Quaranto
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-11-23 00:00:00 -05:00
18
+ date: 2010-11-29 00:00:00 -05:00
19
19
  default_executable: daikon
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -197,6 +197,7 @@ files:
197
197
  - lib/daikon/namespace_tools.rb
198
198
  - spec/client_spec.rb
199
199
  - spec/configuration_spec.rb
200
+ - spec/daemon_spec.rb
200
201
  - spec/daikon_spec.rb
201
202
  - spec/spec_helper.rb
202
203
  has_rdoc: true
@@ -236,5 +237,6 @@ summary: daikon, a radishapp.com client
236
237
  test_files:
237
238
  - spec/client_spec.rb
238
239
  - spec/configuration_spec.rb
240
+ - spec/daemon_spec.rb
239
241
  - spec/daikon_spec.rb
240
242
  - spec/spec_helper.rb