boned 0.2.6 → 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/.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
+