boned 0.2.6 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ redis.yml
2
+ dump.rdb
3
+ log
4
+ tmp
data/README.md CHANGED
@@ -1,12 +1,12 @@
1
- ## Boned - 0.2 ##
1
+ ## Boned - 0.3 ##
2
2
 
3
- **Bones it!**
3
+ **Remote environment variables**
4
4
 
5
5
 
6
6
  ## Running
7
7
 
8
8
  $ redis-server config/redis-server.conf
9
- $ export BONED_REDIS=redis://localhost:8045/1
9
+ $ export BONED_SOURCE=redis://localhost:8045/
10
10
  $ boned start
11
11
 
12
12
 
@@ -19,10 +19,12 @@ You also need to install [redis](http://code.google.com/p/redis/).
19
19
 
20
20
  ## More Information
21
21
 
22
+ See [bone](https://github.com/solutious/bone).
23
+
22
24
 
23
25
  ## Credits
24
26
 
25
- * Delano Mandelbaum (http://solutious.com)
27
+ * [Delano Mandelbaum](http://solutious.com)
26
28
 
27
29
 
28
30
  ## Thanks
data/Rakefile CHANGED
@@ -1,59 +1,66 @@
1
-
2
- require 'rake/clean'
3
- require 'rake/gempackagetask'
4
- require 'rake/testtask'
5
- require 'rake/runtest'
6
- require 'fileutils'
7
- include FileUtils
1
+ require "rubygems"
2
+ require "rake"
3
+ require "rake/clean"
4
+ require 'yaml'
8
5
 
9
6
  begin
10
7
  require 'hanna/rdoctask'
11
8
  rescue LoadError
12
9
  require 'rake/rdoctask'
13
10
  end
14
-
15
- task :default => :test
16
-
17
-
18
- # PACKAGE =============================================================
19
-
11
+
12
+ config = YAML.load_file("VERSION.yml")
13
+ task :default => ["build"]
14
+ CLEAN.include [ 'pkg', 'doc' ]
20
15
  name = "boned"
21
- load "#{name}.gemspec"
22
-
23
- version = @spec.version
24
16
 
25
- Rake::GemPackageTask.new(@spec) do |p|
26
- p.need_tar = true if RUBY_PLATFORM !~ /mswin/
17
+ begin
18
+ require "jeweler"
19
+ Jeweler::Tasks.new do |gem|
20
+ gem.version = "#{config[:MAJOR]}.#{config[:MINOR]}.#{config[:PATCH]}"
21
+ gem.name = name
22
+ gem.rubyforge_project = gem.name
23
+ gem.summary = "HTTP server companion for Bone (remote environment variables)"
24
+ gem.description = gem.summary
25
+ gem.email = "delano@solutious.com"
26
+ gem.homepage = "https://github.com/solutious/boned"
27
+ gem.authors = ["Delano Mandelbaum"]
28
+ gem.add_dependency("bone", ">= 0.3.0")
29
+ gem.add_dependency("sinatra", ">= 1.0.0")
30
+ gem.add_dependency("thin")
31
+ end
32
+ Jeweler::GemcutterTasks.new
33
+ rescue LoadError
34
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
27
35
  end
28
36
 
29
- task :test do
30
- puts "Success!"
31
- end
32
37
 
33
- task :install => [ :rdoc, :package ] do
34
- sh %{sudo gem install pkg/#{name}-#{version}.gem}
38
+ Rake::RDocTask.new do |rdoc|
39
+ version = "#{config[:MAJOR]}.#{config[:MINOR]}.#{config[:PATCH]}.#{config[:BUILD]}"
40
+ rdoc.rdoc_dir = "doc"
41
+ rdoc.title = "#{name} #{version}"
42
+ rdoc.rdoc_files.include("README*")
43
+ rdoc.rdoc_files.include("LICENSE.txt")
44
+ rdoc.rdoc_files.include("bin/*.rb")
45
+ rdoc.rdoc_files.include("lib/**/*.rb")
35
46
  end
36
47
 
37
- task :uninstall => [ :clean ] do
38
- sh %{sudo gem uninstall #{name}}
39
- end
40
48
 
49
+ # Rubyforge Release / Publish Tasks ==================================
41
50
 
51
+ #about 'Publish website to rubyforge'
52
+ task 'publish:rdoc' => 'doc/index.html' do
53
+ #sh "scp -rp doc/* rubyforge.org:/var/www/gforge-projects/#{name}/"
54
+ end
42
55
 
43
- Rake::RDocTask.new do |t|
44
- t.rdoc_dir = 'doc'
45
- t.title = @spec.summary
46
- t.options << '--line-numbers' << '-A cattr_accessor=object'
47
- t.options << '--charset' << 'utf-8'
48
- t.rdoc_files.include('LICENSE.txt')
49
- t.rdoc_files.include('README.md')
50
- t.rdoc_files.include('CHANGES.txt')
51
- #t.rdoc_files.include('Rudyfile') # why is the formatting f'd?
52
- t.rdoc_files.include('bin/*')
53
- t.rdoc_files.include('lib/**/*.rb')
56
+ #about 'Public release to rubyforge'
57
+ task 'publish:gem' => [:package] do |t|
58
+ sh <<-end
59
+ rubyforge add_release -o Any -a CHANGES.txt -f -n README.md #{name} #{name} #{@spec.version} pkg/#{name}-#{@spec.version}.gem &&
60
+ rubyforge add_file -o Any -a CHANGES.txt -f -n README.md #{name} #{name} #{@spec.version} pkg/#{name}-#{@spec.version}.tgz
61
+ end
54
62
  end
55
63
 
56
- CLEAN.include [ 'pkg', '*.gem', '.config', 'doc', 'coverage*' ]
57
64
 
58
65
 
59
66
 
data/VERSION.yml ADDED
@@ -0,0 +1,4 @@
1
+ ---
2
+ :MAJOR: 0
3
+ :MINOR: 3
4
+ :PATCH: 0
data/api/api-set.rb CHANGED
@@ -1,32 +1,33 @@
1
1
 
2
2
 
3
- usecase "Set" do
4
- set :key => :simple
5
- set :token => '1901484c41b8752d61863e323c743abe2c6e90f8841bbdfa789e1d70bc6f4899'
6
-
7
- get "/v1/set/:key" do
8
- set :value => (rand*100000).to_i
9
- param :token => resource(:token)
10
- param :value => resource(:value)
11
- end
12
-
13
- get "/v1/get/:key" do
14
- param :token => resource(:token)
15
- response 200 do
16
- p [resource(:value), body.to_i]
17
- end
18
- end
19
-
20
- get "/v1/set/:key" do
21
- param :key => rand(1000).to_i
22
- set :value => (rand*100000).to_i
23
- param :token => resource(:token)
24
- param :value => resource(:value)
25
- end
26
-
27
- xpost "/v1/set/:key" do
28
- param :key => :file
29
- body file('/tmp/file')
30
- end
31
-
32
- end
3
+
4
+ #usecase "Set" do
5
+ # set :key => :simple
6
+ # set :token => '1901484c41b8752d61863e323c743abe2c6e90f8841bbdfa789e1d70bc6f4899'
7
+ #
8
+ # get "/v1/set/:key" do
9
+ # set :value => (rand*100000).to_i
10
+ # param :token => resource(:token)
11
+ # param :value => resource(:value)
12
+ # end
13
+ #
14
+ # get "/v1/get/:key" do
15
+ # param :token => resource(:token)
16
+ # response 200 do
17
+ # p [resource(:value), body.to_i]
18
+ # end
19
+ # end
20
+ #
21
+ # get "/v1/set/:key" do
22
+ # param :key => rand(1000).to_i
23
+ # set :value => (rand*100000).to_i
24
+ # param :token => resource(:token)
25
+ # param :value => resource(:value)
26
+ # end
27
+ #
28
+ # xpost "/v1/set/:key" do
29
+ # param :key => :file
30
+ # body file('/tmp/file')
31
+ # end
32
+ #
33
+ #end
data/api/api.rb CHANGED
@@ -1,51 +1,51 @@
1
1
 
2
2
 
3
- usecase do
4
- set :token => '1901484c41b8752d61863e323c743abe2c6e90f8841bbdfa789e1d70bc6f4899'
5
- set :key => :simple
6
-
7
- post "/v1/set/:key" do
8
- set :value => (rand*100000).to_i
9
- param :token => resource(:token)
10
- param :value => resource(:value)
11
- end
12
-
13
- get "/v1/get/:key" do
14
- param :token => resource(:token)
15
- response 200 do
16
- p [resource(:value), body.to_i]
17
- end
18
- end
19
-
20
- post "/v1/set/:key" do
21
- param :key => 'rand(1000).to_i'
22
- set :value => (rand*100000).to_i
23
- param :token => resource(:token)
24
- param :value => resource(:value)
25
- end
26
-
27
- xpost "/v1/set/:key" do
28
- param :key => :file
29
- body file('/tmp/file')
30
- end
31
-
32
- get "/v1/keys/:key" do
33
- param :token => resource(:token)
34
- end
35
-
36
- get "/v1/keys" do
37
- param :token => resource(:token)
38
- end
39
-
40
- delete "/v1/del/:key" do
41
- header :'X-BONE-TOKEN' => resource(:token)
42
- end
43
-
44
- get "/v1/get/:key" do
45
- param :token => resource(:token)
46
- response 404 do
47
- # This is the correct response so don't fail
48
- end
49
- end
50
-
51
- end
3
+ # usecase do
4
+ # set :token => '1901484c41b8752d61863e323c743abe2c6e90f8841bbdfa789e1d70bc6f4899'
5
+ # set :key => :simple
6
+ #
7
+ # post "/v1/set/:key" do
8
+ # set :value => (rand*100000).to_i
9
+ # param :token => resource(:token)
10
+ # param :value => resource(:value)
11
+ # end
12
+ #
13
+ # get "/v1/get/:key" do
14
+ # param :token => resource(:token)
15
+ # response 200 do
16
+ # p [resource(:value), body.to_i]
17
+ # end
18
+ # end
19
+ #
20
+ # post "/v1/set/:key" do
21
+ # param :key => 'rand(1000).to_i'
22
+ # set :value => (rand*100000).to_i
23
+ # param :token => resource(:token)
24
+ # param :value => resource(:value)
25
+ # end
26
+ #
27
+ # xpost "/v1/set/:key" do
28
+ # param :key => :file
29
+ # body file('/tmp/file')
30
+ # end
31
+ #
32
+ # get "/v1/keys/:key" do
33
+ # param :token => resource(:token)
34
+ # end
35
+ #
36
+ # get "/v1/keys" do
37
+ # param :token => resource(:token)
38
+ # end
39
+ #
40
+ # delete "/v1/del/:key" do
41
+ # header :'X-BONE-TOKEN' => resource(:token)
42
+ # end
43
+ #
44
+ # get "/v1/get/:key" do
45
+ # param :token => resource(:token)
46
+ # response 404 do
47
+ # # This is the correct response so don't fail
48
+ # end
49
+ # end
50
+ #
51
+ # end
data/app.ru ADDED
@@ -0,0 +1,36 @@
1
+ # Rackup - Boned
2
+ # 2009-12-11
3
+
4
+ # bin/boned -e dev start
5
+
6
+ ENV['RACK_ENV'] ||= 'production'
7
+ ENV['APP_ROOT'] = ::File.expand_path(::File.join(::File.dirname(__FILE__)))
8
+ $:.unshift(::File.join(ENV['APP_ROOT'], 'app'))
9
+ $:.unshift(::File.join(ENV['APP_ROOT'], 'lib'))
10
+
11
+ require 'sinatra'
12
+
13
+ require 'boned/api'
14
+
15
+ disable :run # disable sinatra's auto-application starting
16
+
17
+ configure :prod, :proto, :status do
18
+ Bone.info "arrested #{ENV['RACK_ENV']}"
19
+ Bone.debug = false
20
+ set :show_exceptions, false
21
+ set :dump_errors, false
22
+ set :reload_templates, false
23
+ map("/#{Bone::APIVERSION}") { run Boned::API }
24
+ end
25
+
26
+ configure :dev do
27
+ Bone.info "arrested #{ENV['RACK_ENV']}"
28
+ Bone.debug = true
29
+ set :show_exceptions, true
30
+ set :dump_errors, true
31
+ set :reload_templates, true
32
+ map("/#{Bone::APIVERSION}") { run Boned::API }
33
+ end
34
+
35
+
36
+
data/bin/boned CHANGED
@@ -1,74 +1,9 @@
1
- #!/usr/bin/ruby
1
+ #!/bin/sh
2
2
 
3
- # = Boned
4
- #
5
- #
6
3
  # Usage:
7
- #
8
- # $ boned -h
9
- # $ boned [-d] start-master
10
4
  #
11
- #--
12
-
13
- # Put our local lib in first place
14
- BASE_PATH = File.expand_path File.join(File.dirname(__FILE__), '..')
15
- lib_dir = File.join(BASE_PATH, 'lib')
16
- $:.unshift lib_dir
17
- #$:.unshift '/Users/delano/Projects/opensource/drydock/lib'
18
-
19
- require 'rubygems'
20
- require 'drydock'
21
- require 'boned'
22
- require 'boned/cli'
23
-
24
- # Command-line interface for bin/stella
25
- class Boned::CLI::Definition
26
- extend Drydock
27
-
28
- debug :off
29
-
30
- default :info
31
-
32
- global :V, :version, "Display version" do
33
- puts "Boned: #{Boned::VERSION} (api: #{Boned::APIVERSION})"
34
- exit
35
- end
36
-
37
- global :R, :rackup, String, "Specify a rackup file"
38
- global :e, :environment, String, "Rack environment"
39
- global :v, :verbose, "Increase output" do; 1 end
40
- global :d, :daemon, "Run as a daemon"
41
- global :p, :port, Integer, "Port to run on"
42
- global :D, :debug do
43
- Drydock.debug true
44
- Boned.enable_debug
45
- end
46
-
47
- command :start => Boned::CLI
48
- command :stop => Boned::CLI
49
- command :stop_redis => Boned::CLI
50
- command :info => Boned::CLI
51
-
52
- end
53
-
54
-
55
- begin
56
- Drydock.run!(ARGV, STDIN) if Drydock.run? && !Drydock.has_run?
57
- rescue Boned::Problem => ex
58
- STDERR.puts ex.message
59
- STDERR.puts ex.backtrace if Drydock.debug?
60
- exit 1
61
- rescue Drydock::ArgError, Drydock::OptError => ex
62
- STDERR.puts ex.message
63
- STDERR.puts ex.usage
64
- rescue Drydock::InvalidArgument => ex
65
- STDERR.puts ex.message
66
- rescue Drydock::UnknownCommand => ex
67
- STDERR.puts "Unknown command: %s" % ex.name
68
- rescue Interrupt
69
- puts $/, "Exiting... "
70
- exit 1
71
- rescue => ex
72
- STDERR.puts "ERROR (#{ex.class.to_s}): #{ex.message}"
73
- STDERR.puts ex.backtrace if Drydock.debug?
74
- end
5
+ # bin/boned -e dev start
6
+ # bin/boned -e prod -d start
7
+ # bin/boned -e prod stop
8
+ #
9
+ thin -p 3073 -P /tmp/boned.pid --rackup app.ru -l /tmp/boned.log $*
data/boned.gemspec CHANGED
@@ -1,48 +1,70 @@
1
- @spec = Gem::Specification.new do |s|
2
- s.name = "boned"
3
- s.rubyforge_project = 'boned'
4
- s.version = "0.2.6"
5
- s.summary = "The bone daemon"
6
- s.description = s.summary
7
- s.author = "Delano Mandelbaum"
8
- s.email = "delano@solutious.com"
9
- s.homepage = "http://github.com/solutious/boned"
10
-
11
- s.extra_rdoc_files = %w[README.md LICENSE.txt CHANGES.txt]
12
- s.has_rdoc = true
13
- s.rdoc_options = ["--line-numbers", "--title", s.summary, "--main", "README.md"]
14
- s.require_paths = %w[lib]
15
-
16
- s.add_dependency 'bone', '= 0.2.6'
17
-
18
- s.executables = %w[boned]
19
-
20
- # = MANIFEST =
21
- # git ls-files
22
- s.files = %w(
23
- CHANGES.txt
24
- LICENSE.txt
25
- README.md
26
- Rakefile
27
- api/api-set.rb
28
- api/api.rb
29
- bin/boned
30
- boned.gemspec
31
- config.ru
32
- config/redis-server.conf
33
- lib/boned.rb
34
- lib/boned/api.rb
35
- lib/boned/api/debug.rb
36
- lib/boned/api/redis.rb
37
- lib/boned/api/service.rb
38
- lib/boned/cli.rb
39
- lib/boned/models.rb
40
- lib/boned/models/bone.rb
41
- lib/boned/server.rb
42
- public/index.html
43
- try/10_bone_model.rb
44
- views/redisviewer/keys.erb
45
- )
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
46
5
 
47
-
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{boned}
8
+ s.version = "0.3.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Delano Mandelbaum"]
12
+ s.date = %q{2010-12-17}
13
+ s.default_executable = %q{boned}
14
+ s.description = %q{HTTP server companion for Bone (remote environment variables)}
15
+ s.email = %q{delano@solutious.com}
16
+ s.executables = ["boned"]
17
+ s.extra_rdoc_files = [
18
+ "LICENSE.txt",
19
+ "README.md"
20
+ ]
21
+ s.files = [
22
+ ".gitignore",
23
+ "CHANGES.txt",
24
+ "LICENSE.txt",
25
+ "README.md",
26
+ "Rakefile",
27
+ "VERSION.yml",
28
+ "api/api-set.rb",
29
+ "api/api.rb",
30
+ "app.ru",
31
+ "bin/boned",
32
+ "boned.gemspec",
33
+ "config/redis-server.conf",
34
+ "lib/boned.rb",
35
+ "lib/boned/api.rb",
36
+ "lib/boned/api/base.rb",
37
+ "lib/boned/app.rb",
38
+ "public/index.html",
39
+ "try/10_basics_try.rb",
40
+ "try/11_signature_try.rb",
41
+ "try/20_keys_try.rb",
42
+ "views/redisviewer/keys.erb"
43
+ ]
44
+ s.homepage = %q{https://github.com/solutious/boned}
45
+ s.rdoc_options = ["--charset=UTF-8"]
46
+ s.require_paths = ["lib"]
47
+ s.rubyforge_project = %q{boned}
48
+ s.rubygems_version = %q{1.3.7}
49
+ s.summary = %q{HTTP server companion for Bone (remote environment variables)}
50
+
51
+ if s.respond_to? :specification_version then
52
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
53
+ s.specification_version = 3
54
+
55
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
56
+ s.add_runtime_dependency(%q<bone>, [">= 0.3.0"])
57
+ s.add_runtime_dependency(%q<sinatra>, [">= 1.0.0"])
58
+ s.add_runtime_dependency(%q<thin>, [">= 0"])
59
+ else
60
+ s.add_dependency(%q<bone>, [">= 0.3.0"])
61
+ s.add_dependency(%q<sinatra>, [">= 1.0.0"])
62
+ s.add_dependency(%q<thin>, [">= 0"])
63
+ end
64
+ else
65
+ s.add_dependency(%q<bone>, [">= 0.3.0"])
66
+ s.add_dependency(%q<sinatra>, [">= 1.0.0"])
67
+ s.add_dependency(%q<thin>, [">= 0"])
68
+ end
48
69
  end
70
+