jsonrpc 0.9.2 → 0.9.3
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 +9 -0
- data/Rakefile +14 -41
- data/jsonrpc.gemspec +27 -0
- data/lib/jsonrpc/version.rb +3 -9
- data/lib/jsonrpc.rb +2 -1
- data/spec/jsonrpc_spec.rb +13 -0
- metadata +52 -45
- data/tasks/clobber.rake +0 -2
- data/tasks/gem.rake +0 -68
- data/tasks/git.rake +0 -40
- data/tasks/metrics.rake +0 -22
- data/tasks/rdoc.rake +0 -29
- data/tasks/rubyforge.rake +0 -89
- data/tasks/spec.rake +0 -63
data/.gitignore
ADDED
data/Rakefile
CHANGED
|
@@ -1,49 +1,22 @@
|
|
|
1
|
-
lib_dir = File.expand_path(File.join(File.dirname(__FILE__), "lib"))
|
|
2
|
-
$:.unshift(lib_dir)
|
|
3
|
-
$:.uniq!
|
|
4
|
-
|
|
5
1
|
require 'rubygems'
|
|
6
2
|
require 'rake'
|
|
7
|
-
require '
|
|
8
|
-
require '
|
|
9
|
-
require 'rake/packagetask'
|
|
10
|
-
require 'rake/gempackagetask'
|
|
11
|
-
require 'rake/contrib/rubyforgepublisher'
|
|
12
|
-
require 'spec/rake/spectask'
|
|
13
|
-
|
|
14
|
-
require File.join(File.dirname(__FILE__), 'lib/jsonrpc', 'version')
|
|
15
|
-
|
|
16
|
-
PKG_DISPLAY_NAME = 'JsonRPC'
|
|
17
|
-
PKG_NAME = PKG_DISPLAY_NAME.downcase
|
|
18
|
-
PKG_VERSION = JsonRPC::VERSION::STRING
|
|
19
|
-
PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
|
|
20
|
-
|
|
21
|
-
RELEASE_NAME = "REL #{PKG_VERSION}"
|
|
3
|
+
require 'rspec'
|
|
4
|
+
require 'rspec/core/rake_task'
|
|
22
5
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
RUBY_FORGE_PATH = "/var/www/gforge-projects/#{RUBY_FORGE_PROJECT}"
|
|
26
|
-
RUBY_FORGE_URL = "http://#{RUBY_FORGE_PROJECT}.rubyforge.org/"
|
|
6
|
+
$LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
|
|
7
|
+
require "jsonrpc/version"
|
|
27
8
|
|
|
28
|
-
PKG_SUMMARY = "JSON RPC implementation"
|
|
29
|
-
PKG_DESCRIPTION = <<-TEXT
|
|
30
|
-
Very simple JSON RPC client implementation
|
|
31
|
-
TEXT
|
|
32
9
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
"tasks/**/*", "website/**/*",
|
|
36
|
-
"[A-Z]*", "Rakefile"
|
|
37
|
-
].exclude(/database\.yml/).exclude(/[_\.]git$/)
|
|
38
|
-
|
|
39
|
-
RCOV_ENABLED = (RUBY_PLATFORM != "java" && RUBY_VERSION =~ /^1\.8/)
|
|
40
|
-
if RCOV_ENABLED
|
|
41
|
-
task :default => "spec:verify"
|
|
42
|
-
else
|
|
43
|
-
task :default => "spec"
|
|
10
|
+
RSpec::Core::RakeTask.new do |t|
|
|
11
|
+
t.rspec_opts = %w(-fs --color)
|
|
44
12
|
end
|
|
45
13
|
|
|
46
|
-
|
|
47
|
-
|
|
14
|
+
desc "Build the gem"
|
|
15
|
+
task :build do
|
|
16
|
+
system "gem build jsonrpc.gemspec"
|
|
17
|
+
end
|
|
48
18
|
|
|
49
|
-
|
|
19
|
+
desc "Release the gem"
|
|
20
|
+
task :release => :build do
|
|
21
|
+
system "gem push jsonrpc-#{JsonRPC::VERSION}.gem"
|
|
22
|
+
end
|
data/jsonrpc.gemspec
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
lib = File.expand_path('../lib/', __FILE__)
|
|
3
|
+
$:.unshift lib unless $:.include?(lib)
|
|
4
|
+
|
|
5
|
+
require 'jsonrpc/version'
|
|
6
|
+
|
|
7
|
+
Gem::Specification.new do |s|
|
|
8
|
+
s.name = "jsonrpc"
|
|
9
|
+
s.version = JsonRPC::VERSION
|
|
10
|
+
s.platform = Gem::Platform::RUBY
|
|
11
|
+
s.authors = ["Dirkjan Bussink"]
|
|
12
|
+
s.email = ["d.bussink@gmail.com"]
|
|
13
|
+
s.homepage = "https://github.com/dbussink/jsonrpc"
|
|
14
|
+
s.summary = %q{JSON RPC Implementation}
|
|
15
|
+
s.description = %q{Very simple JSON RPC client implementation}
|
|
16
|
+
|
|
17
|
+
s.rubyforge_project = "jsonrpc"
|
|
18
|
+
|
|
19
|
+
s.add_dependency "addressable"
|
|
20
|
+
s.add_development_dependency "rake"
|
|
21
|
+
s.add_development_dependency "rspec", "~> 2.0"
|
|
22
|
+
|
|
23
|
+
# Man files are required because they are ignored by git
|
|
24
|
+
s.files = `git ls-files`.split("\n")
|
|
25
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
26
|
+
s.require_paths = ["lib"]
|
|
27
|
+
end
|
data/lib/jsonrpc/version.rb
CHANGED
data/lib/jsonrpc.rb
CHANGED
|
@@ -16,8 +16,9 @@ module JsonRPC
|
|
|
16
16
|
def request(method, params)
|
|
17
17
|
result = {}
|
|
18
18
|
params ||= {}
|
|
19
|
+
h = {"Content-Type", "application/json"}
|
|
19
20
|
Net::HTTP.start(@address.host, @address.port) do |connection|
|
|
20
|
-
result = JSON.parse(connection.post(@address.path, {:method => method.to_s, :params => params}.to_json).body)
|
|
21
|
+
result = JSON.parse(connection.post(@address.path, {:method => method.to_s, :params => params}.to_json, h).body)
|
|
21
22
|
end
|
|
22
23
|
if error = result["error"]
|
|
23
24
|
raise JsonRPCError, error["message"]
|
data/spec/jsonrpc_spec.rb
CHANGED
|
@@ -43,10 +43,19 @@ class Net::HTTP < Net::Protocol
|
|
|
43
43
|
@raw_post_path
|
|
44
44
|
end
|
|
45
45
|
|
|
46
|
+
def self.raw_headers=(headers)
|
|
47
|
+
@raw_headers = headers
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def self.raw_headers
|
|
51
|
+
@raw_headers
|
|
52
|
+
end
|
|
53
|
+
|
|
46
54
|
def post(path, body, headers = [])
|
|
47
55
|
res = Net::HTTPSuccess.new('1.2', '200', 'OK')
|
|
48
56
|
self.class.raw_post_path = path
|
|
49
57
|
self.class.raw_post_body = body
|
|
58
|
+
self.class.raw_headers = headers
|
|
50
59
|
res.body = self.class.raw_response_data
|
|
51
60
|
res
|
|
52
61
|
end
|
|
@@ -76,6 +85,10 @@ describe JsonRPC::Client do
|
|
|
76
85
|
@result.should == {"result" => 200, "message" => "what a great success!"}
|
|
77
86
|
end
|
|
78
87
|
|
|
88
|
+
it 'should set the headers to application/json' do
|
|
89
|
+
Net::HTTP.raw_headers.should include("Content-Type" => "application/json")
|
|
90
|
+
end
|
|
91
|
+
|
|
79
92
|
end
|
|
80
93
|
|
|
81
94
|
describe 'when it is not successful' do
|
metadata
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jsonrpc
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
4
|
+
prerelease: false
|
|
5
|
+
segments:
|
|
6
|
+
- 0
|
|
7
|
+
- 9
|
|
8
|
+
- 3
|
|
9
|
+
version: 0.9.3
|
|
5
10
|
platform: ruby
|
|
6
11
|
authors:
|
|
7
12
|
- Dirkjan Bussink
|
|
@@ -9,93 +14,95 @@ autorequire:
|
|
|
9
14
|
bindir: bin
|
|
10
15
|
cert_chain: []
|
|
11
16
|
|
|
12
|
-
date:
|
|
17
|
+
date: 2011-07-25 00:00:00 +02:00
|
|
13
18
|
default_executable:
|
|
14
19
|
dependencies:
|
|
15
20
|
- !ruby/object:Gem::Dependency
|
|
16
21
|
name: addressable
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
prerelease: false
|
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
20
24
|
requirements:
|
|
21
25
|
- - ">="
|
|
22
26
|
- !ruby/object:Gem::Version
|
|
27
|
+
segments:
|
|
28
|
+
- 0
|
|
23
29
|
version: "0"
|
|
24
|
-
|
|
30
|
+
type: :runtime
|
|
31
|
+
version_requirements: *id001
|
|
25
32
|
- !ruby/object:Gem::Dependency
|
|
26
33
|
name: rake
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
34
|
+
prerelease: false
|
|
35
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
30
36
|
requirements:
|
|
31
37
|
- - ">="
|
|
32
38
|
- !ruby/object:Gem::Version
|
|
33
|
-
|
|
34
|
-
|
|
39
|
+
segments:
|
|
40
|
+
- 0
|
|
41
|
+
version: "0"
|
|
42
|
+
type: :development
|
|
43
|
+
version_requirements: *id002
|
|
35
44
|
- !ruby/object:Gem::Dependency
|
|
36
45
|
name: rspec
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
46
|
+
prerelease: false
|
|
47
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
|
40
48
|
requirements:
|
|
41
|
-
- -
|
|
49
|
+
- - ~>
|
|
42
50
|
- !ruby/object:Gem::Version
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
51
|
+
segments:
|
|
52
|
+
- 2
|
|
53
|
+
- 0
|
|
54
|
+
version: "2.0"
|
|
55
|
+
type: :development
|
|
56
|
+
version_requirements: *id003
|
|
57
|
+
description: Very simple JSON RPC client implementation
|
|
58
|
+
email:
|
|
59
|
+
- d.bussink@gmail.com
|
|
49
60
|
executables: []
|
|
50
61
|
|
|
51
62
|
extensions: []
|
|
52
63
|
|
|
53
|
-
extra_rdoc_files:
|
|
54
|
-
|
|
64
|
+
extra_rdoc_files: []
|
|
65
|
+
|
|
55
66
|
files:
|
|
56
|
-
-
|
|
57
|
-
- lib/jsonrpc/version.rb
|
|
58
|
-
- lib/jsonrpc.rb
|
|
59
|
-
- spec/jsonrpc_spec.rb
|
|
60
|
-
- tasks/clobber.rake
|
|
61
|
-
- tasks/gem.rake
|
|
62
|
-
- tasks/git.rake
|
|
63
|
-
- tasks/metrics.rake
|
|
64
|
-
- tasks/rdoc.rake
|
|
65
|
-
- tasks/rubyforge.rake
|
|
66
|
-
- tasks/spec.rake
|
|
67
|
+
- .gitignore
|
|
67
68
|
- CHANGELOG
|
|
68
69
|
- LICENSE
|
|
69
|
-
- Rakefile
|
|
70
70
|
- README
|
|
71
|
+
- Rakefile
|
|
72
|
+
- jsonrpc.gemspec
|
|
73
|
+
- lib/jsonrpc.rb
|
|
74
|
+
- lib/jsonrpc/exceptions.rb
|
|
75
|
+
- lib/jsonrpc/version.rb
|
|
76
|
+
- spec/jsonrpc_spec.rb
|
|
71
77
|
has_rdoc: true
|
|
72
|
-
homepage:
|
|
78
|
+
homepage: https://github.com/dbussink/jsonrpc
|
|
73
79
|
licenses: []
|
|
74
80
|
|
|
75
81
|
post_install_message:
|
|
76
|
-
rdoc_options:
|
|
77
|
-
|
|
78
|
-
- README
|
|
82
|
+
rdoc_options: []
|
|
83
|
+
|
|
79
84
|
require_paths:
|
|
80
85
|
- lib
|
|
81
86
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
82
87
|
requirements:
|
|
83
88
|
- - ">="
|
|
84
89
|
- !ruby/object:Gem::Version
|
|
90
|
+
segments:
|
|
91
|
+
- 0
|
|
85
92
|
version: "0"
|
|
86
|
-
version:
|
|
87
93
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
88
94
|
requirements:
|
|
89
95
|
- - ">="
|
|
90
96
|
- !ruby/object:Gem::Version
|
|
97
|
+
segments:
|
|
98
|
+
- 0
|
|
91
99
|
version: "0"
|
|
92
|
-
version:
|
|
93
100
|
requirements: []
|
|
94
101
|
|
|
95
102
|
rubyforge_project: jsonrpc
|
|
96
|
-
rubygems_version: 1.3.
|
|
103
|
+
rubygems_version: 1.3.6
|
|
97
104
|
signing_key:
|
|
98
105
|
specification_version: 3
|
|
99
|
-
summary: JSON RPC
|
|
100
|
-
test_files:
|
|
101
|
-
|
|
106
|
+
summary: JSON RPC Implementation
|
|
107
|
+
test_files:
|
|
108
|
+
- spec/jsonrpc_spec.rb
|
data/tasks/clobber.rake
DELETED
data/tasks/gem.rake
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
require "rake/gempackagetask"
|
|
2
|
-
|
|
3
|
-
namespace :gem do
|
|
4
|
-
GEM_SPEC = Gem::Specification.new do |s|
|
|
5
|
-
s.name = PKG_NAME
|
|
6
|
-
s.version = PKG_VERSION
|
|
7
|
-
s.summary = PKG_SUMMARY
|
|
8
|
-
s.description = PKG_DESCRIPTION
|
|
9
|
-
|
|
10
|
-
s.files = PKG_FILES.to_a
|
|
11
|
-
|
|
12
|
-
s.has_rdoc = true
|
|
13
|
-
s.extra_rdoc_files = %w( README )
|
|
14
|
-
s.rdoc_options.concat ["--main", "README"]
|
|
15
|
-
|
|
16
|
-
if !s.respond_to?(:add_development_dependency)
|
|
17
|
-
puts "Cannot build Gem with this version of RubyGems."
|
|
18
|
-
exit(1)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
s.add_dependency("addressable")
|
|
22
|
-
s.add_development_dependency("rake", ">= 0.7.3")
|
|
23
|
-
s.add_development_dependency("rspec", ">= 1.0.8")
|
|
24
|
-
|
|
25
|
-
s.require_path = "lib"
|
|
26
|
-
|
|
27
|
-
s.author = "Dirkjan Bussink"
|
|
28
|
-
s.email = "d.bussink@gmail.com"
|
|
29
|
-
s.homepage = RUBY_FORGE_URL
|
|
30
|
-
s.rubyforge_project = RUBY_FORGE_PROJECT
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
Rake::GemPackageTask.new(GEM_SPEC) do |p|
|
|
34
|
-
p.gem_spec = GEM_SPEC
|
|
35
|
-
p.need_tar = true
|
|
36
|
-
p.need_zip = true
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
desc "Show information about the gem"
|
|
40
|
-
task :debug do
|
|
41
|
-
puts GEM_SPEC.to_ruby
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
desc "Install the gem"
|
|
45
|
-
task :install => ["clobber", "gem:package"] do
|
|
46
|
-
sh "#{SUDO} gem install --local pkg/#{GEM_SPEC.full_name}"
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
desc "Uninstall the gem"
|
|
50
|
-
task :uninstall do
|
|
51
|
-
installed_list = Gem.source_index.find_name(PKG_NAME)
|
|
52
|
-
if installed_list &&
|
|
53
|
-
(installed_list.collect { |s| s.version.to_s}.include?(PKG_VERSION))
|
|
54
|
-
sh(
|
|
55
|
-
"#{SUDO} gem uninstall --version '#{PKG_VERSION}' " +
|
|
56
|
-
"--ignore-dependencies --executables #{PKG_NAME}"
|
|
57
|
-
)
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
desc "Reinstall the gem"
|
|
62
|
-
task :reinstall => [:uninstall, :install]
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
desc "Alias to gem:package"
|
|
66
|
-
task "gem" => "gem:package"
|
|
67
|
-
|
|
68
|
-
task "clobber" => ["gem:clobber_package"]
|
data/tasks/git.rake
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
namespace :git do
|
|
2
|
-
namespace :tag do
|
|
3
|
-
desc "List tags from the Git repository"
|
|
4
|
-
task :list do
|
|
5
|
-
tags = `git tag -l`
|
|
6
|
-
tags.gsub!("\r", "")
|
|
7
|
-
tags = tags.split("\n").sort {|a, b| b <=> a }
|
|
8
|
-
puts tags.join("\n")
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
desc "Create a new tag in the Git repository"
|
|
12
|
-
task :create do
|
|
13
|
-
changelog = File.open("CHANGELOG", "r") { |file| file.read }
|
|
14
|
-
puts "-" * 80
|
|
15
|
-
puts changelog
|
|
16
|
-
puts "-" * 80
|
|
17
|
-
puts
|
|
18
|
-
|
|
19
|
-
v = ENV["VERSION"] or abort "Must supply VERSION=x.y.z"
|
|
20
|
-
abort "Versions don't match #{v} vs #{PKG_VERSION}" if v != PKG_VERSION
|
|
21
|
-
|
|
22
|
-
tag = "#{PKG_NAME}-#{PKG_VERSION}"
|
|
23
|
-
msg = "Release #{PKG_NAME}-#{PKG_VERSION}"
|
|
24
|
-
|
|
25
|
-
existing_tags = `git tag -l instrument-*`.split("\n")
|
|
26
|
-
if existing_tags.include?(tag)
|
|
27
|
-
warn("Tag already exists, deleting...")
|
|
28
|
-
unless system "git tag -d #{tag}"
|
|
29
|
-
abort "Tag deletion failed."
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
puts "Creating git tag '#{tag}'..."
|
|
33
|
-
unless system "git tag -a -m \"#{msg}\" #{tag}"
|
|
34
|
-
abort "Tag creation failed."
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
task "gem:release" => "git:tag:create"
|
data/tasks/metrics.rake
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
namespace :metrics do
|
|
2
|
-
task :lines do
|
|
3
|
-
lines, codelines, total_lines, total_codelines = 0, 0, 0, 0
|
|
4
|
-
for file_name in FileList["lib/**/*.rb"]
|
|
5
|
-
f = File.open(file_name)
|
|
6
|
-
while line = f.gets
|
|
7
|
-
lines += 1
|
|
8
|
-
next if line =~ /^\s*$/
|
|
9
|
-
next if line =~ /^\s*#/
|
|
10
|
-
codelines += 1
|
|
11
|
-
end
|
|
12
|
-
puts "L: #{sprintf("%4d", lines)}, " +
|
|
13
|
-
"LOC #{sprintf("%4d", codelines)} | #{file_name}"
|
|
14
|
-
total_lines += lines
|
|
15
|
-
total_codelines += codelines
|
|
16
|
-
|
|
17
|
-
lines, codelines = 0, 0
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
puts "Total: Lines #{total_lines}, LOC #{total_codelines}"
|
|
21
|
-
end
|
|
22
|
-
end
|
data/tasks/rdoc.rake
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
require "rake/rdoctask"
|
|
2
|
-
|
|
3
|
-
namespace :doc do
|
|
4
|
-
desc "Generate RDoc documentation"
|
|
5
|
-
Rake::RDocTask.new do |rdoc|
|
|
6
|
-
rdoc.rdoc_dir = "doc"
|
|
7
|
-
rdoc.title = "#{PKG_NAME}-#{PKG_VERSION} Documentation"
|
|
8
|
-
rdoc.options << "--line-numbers" << "--inline-source" <<
|
|
9
|
-
"--accessor" << "cattr_accessor=object" << "--charset" << "utf-8"
|
|
10
|
-
rdoc.template = "#{ENV["template"]}.rb" if ENV["template"]
|
|
11
|
-
rdoc.rdoc_files.include("README", "CHANGELOG", "LICENSE")
|
|
12
|
-
rdoc.rdoc_files.include("lib/**/*.rb")
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
desc "Generate ri locally for testing"
|
|
16
|
-
task :ri do
|
|
17
|
-
sh "rdoc --ri -o ri ."
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
desc "Remove ri products"
|
|
21
|
-
task :clobber_ri do
|
|
22
|
-
rm_r "ri" rescue nil
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
desc "Alias to doc:rdoc"
|
|
27
|
-
task "doc" => "doc:rdoc"
|
|
28
|
-
|
|
29
|
-
task "clobber" => ["doc:clobber_rdoc", "doc:clobber_ri"]
|
data/tasks/rubyforge.rake
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
namespace :gem do
|
|
2
|
-
desc 'Package and upload to RubyForge'
|
|
3
|
-
task :release => ["gem:package"] do |t|
|
|
4
|
-
require 'rubyforge'
|
|
5
|
-
|
|
6
|
-
v = ENV['VERSION'] or abort 'Must supply VERSION=x.y.z'
|
|
7
|
-
abort "Versions don't match #{v} vs #{PROJ.version}" if v != PKG_VERSION
|
|
8
|
-
pkg = "pkg/#{GEM_SPEC.full_name}"
|
|
9
|
-
|
|
10
|
-
rf = RubyForge.new
|
|
11
|
-
rf.configure
|
|
12
|
-
puts 'Logging in...'
|
|
13
|
-
rf.login
|
|
14
|
-
|
|
15
|
-
c = rf.userconfig
|
|
16
|
-
changelog = File.open("CHANGELOG") { |file| file.read }
|
|
17
|
-
c['release_changes'] = changelog
|
|
18
|
-
c['preformatted'] = true
|
|
19
|
-
|
|
20
|
-
files = ["#{pkg}.tgz", "#{pkg}.zip", "#{pkg}.gem"]
|
|
21
|
-
|
|
22
|
-
puts "Releasing #{PKG_NAME} v. #{PKG_VERSION}"
|
|
23
|
-
rf.add_release RUBY_FORGE_PROJECT, PKG_NAME, PKG_VERSION, *files
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
namespace :doc do
|
|
28
|
-
desc "Publish RDoc to RubyForge"
|
|
29
|
-
task :release => ["doc:rdoc"] do
|
|
30
|
-
require "rake/contrib/sshpublisher"
|
|
31
|
-
require "yaml"
|
|
32
|
-
|
|
33
|
-
config = YAML.load(
|
|
34
|
-
File.read(File.expand_path('~/.rubyforge/user-config.yml'))
|
|
35
|
-
)
|
|
36
|
-
host = "#{config['username']}@rubyforge.org"
|
|
37
|
-
remote_dir = RUBY_FORGE_PATH + "/api"
|
|
38
|
-
local_dir = "doc"
|
|
39
|
-
Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
namespace :spec do
|
|
44
|
-
desc "Publish specdoc to RubyForge"
|
|
45
|
-
task :release => ["spec:specdoc"] do
|
|
46
|
-
require "rake/contrib/sshpublisher"
|
|
47
|
-
require "yaml"
|
|
48
|
-
|
|
49
|
-
config = YAML.load(
|
|
50
|
-
File.read(File.expand_path('~/.rubyforge/user-config.yml'))
|
|
51
|
-
)
|
|
52
|
-
host = "#{config['username']}@rubyforge.org"
|
|
53
|
-
remote_dir = RUBY_FORGE_PATH + "/specdoc"
|
|
54
|
-
local_dir = "specdoc"
|
|
55
|
-
Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
namespace :rcov do
|
|
59
|
-
desc "Publish coverage report to RubyForge"
|
|
60
|
-
task :release => ["spec:rcov"] do
|
|
61
|
-
require "rake/contrib/sshpublisher"
|
|
62
|
-
require "yaml"
|
|
63
|
-
|
|
64
|
-
config = YAML.load(
|
|
65
|
-
File.read(File.expand_path('~/.rubyforge/user-config.yml'))
|
|
66
|
-
)
|
|
67
|
-
host = "#{config['username']}@rubyforge.org"
|
|
68
|
-
remote_dir = RUBY_FORGE_PATH + "/coverage"
|
|
69
|
-
local_dir = "coverage"
|
|
70
|
-
Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload
|
|
71
|
-
end
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
namespace :website do
|
|
76
|
-
desc "Publish website to RubyForge"
|
|
77
|
-
task :release => ["doc:release", "spec:release", "spec:rcov:release"] do
|
|
78
|
-
require "rake/contrib/sshpublisher"
|
|
79
|
-
require "yaml"
|
|
80
|
-
|
|
81
|
-
config = YAML.load(
|
|
82
|
-
File.read(File.expand_path('~/.rubyforge/user-config.yml'))
|
|
83
|
-
)
|
|
84
|
-
host = "#{config['username']}@rubyforge.org"
|
|
85
|
-
remote_dir = RUBY_FORGE_PATH
|
|
86
|
-
local_dir = "website"
|
|
87
|
-
Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload
|
|
88
|
-
end
|
|
89
|
-
end
|
data/tasks/spec.rake
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
require 'spec/rake/verify_rcov'
|
|
2
|
-
|
|
3
|
-
namespace :spec do
|
|
4
|
-
Spec::Rake::SpecTask.new(:rcov) do |t|
|
|
5
|
-
t.spec_files = FileList['spec/**/*_spec.rb']
|
|
6
|
-
t.spec_opts = ['--color', '--format', 'specdoc']
|
|
7
|
-
if RCOV_ENABLED
|
|
8
|
-
t.rcov = true
|
|
9
|
-
else
|
|
10
|
-
t.rcov = false
|
|
11
|
-
end
|
|
12
|
-
t.rcov_opts = [
|
|
13
|
-
'--exclude', 'spec',
|
|
14
|
-
'--exclude', '1\\.8\\/gems',
|
|
15
|
-
'--exclude', '1\\.9\\/gems',
|
|
16
|
-
]
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
Spec::Rake::SpecTask.new(:normal) do |t|
|
|
20
|
-
t.spec_files = FileList['spec/**/*_spec.rb']
|
|
21
|
-
t.spec_opts = ['--color', '--format', 'specdoc']
|
|
22
|
-
t.rcov = false
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
if RCOV_ENABLED
|
|
26
|
-
RCov::VerifyTask.new(:verify) do |t|
|
|
27
|
-
t.threshold = 100.0
|
|
28
|
-
t.index_html = 'coverage/index.html'
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
task :verify => :rcov
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
desc "Generate HTML Specdocs for all specs"
|
|
35
|
-
Spec::Rake::SpecTask.new(:specdoc) do |t|
|
|
36
|
-
specdoc_path = File.expand_path(
|
|
37
|
-
File.join(File.dirname(__FILE__), '../specdoc/'))
|
|
38
|
-
Dir.mkdir(specdoc_path) if !File.exist?(specdoc_path)
|
|
39
|
-
|
|
40
|
-
output_file = File.join(specdoc_path, 'index.html')
|
|
41
|
-
t.spec_files = FileList['spec/**/*_spec.rb']
|
|
42
|
-
t.spec_opts = ["--format", "\"html:#{output_file}\"", "--diff"]
|
|
43
|
-
t.fail_on_error = false
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
namespace :rcov do
|
|
47
|
-
desc "Browse the code coverage report."
|
|
48
|
-
task :browse => "spec:rcov" do
|
|
49
|
-
require "launchy"
|
|
50
|
-
Launchy::Browser.run("coverage/index.html")
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
if RCOV_ENABLED
|
|
56
|
-
desc "Alias to spec:verify"
|
|
57
|
-
task "spec" => "spec:verify"
|
|
58
|
-
else
|
|
59
|
-
desc "Alias to spec:normal"
|
|
60
|
-
task "spec" => "spec:normal"
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
task "clobber" => ["spec:clobber_rcov"]
|