blogrpc 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f80eb33c495db35d40812513355afc186e3cbb77
4
+ data.tar.gz: 2b32f521a985baca6786bee98f0a46b68a651641
5
+ SHA512:
6
+ metadata.gz: d4c922ffd55e435a3aa32f6c39a7b528a812ae866a7df436b5d6c1c01d532a12ce28a41449afaf1a07cd93e9aa5321155b4e9a8471e2d37416f96a99187c066e
7
+ data.tar.gz: de2f9864c9a5e4f052ff6bc03c953c59d596703f75add45fa5ce6e2170876758d17a443b0f26ed7b59e4d9f350c0328c637ea7dc444cc2ed0faacb453cd974de
data/Gemfile CHANGED
@@ -1,16 +1,13 @@
1
1
  source "http://rubygems.org"
2
- # Add dependencies required to use your gem here.
3
- # Example:
4
- # gem "activesupport", ">= 2.3.5"
5
-
6
- gem "builder", "~> 3.0.0"
7
2
 
3
+ gem "builder", ">= 3.1"
8
4
 
9
5
  # Add dependencies to develop your gem here.
10
6
  # Include everything needed to run rake, tests, features, etc.
11
7
  group :development do
8
+ gem 'minitest'
12
9
  gem "rdoc", "~> 3.12"
13
- gem "jeweler", "~> 1.8.4"
14
- gem "flexmock", "~>0.8"
10
+ gem "jeweler", '~> 2', '>= 2.1.2'
11
+ gem "flexmock"
15
12
  gem "rack-test"
16
13
  end
@@ -1,28 +1,70 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- builder (3.0.0)
5
- flexmock (0.9.0)
6
- git (1.2.5)
7
- jeweler (1.8.4)
8
- bundler (~> 1.0)
4
+ addressable (2.5.0)
5
+ public_suffix (~> 2.0, >= 2.0.2)
6
+ builder (3.2.2)
7
+ descendants_tracker (0.0.4)
8
+ thread_safe (~> 0.3, >= 0.3.1)
9
+ faraday (0.9.2)
10
+ multipart-post (>= 1.2, < 3)
11
+ flexmock (2.3.4)
12
+ git (1.3.0)
13
+ github_api (0.11.3)
14
+ addressable (~> 2.3)
15
+ descendants_tracker (~> 0.0.1)
16
+ faraday (~> 0.8, < 0.10)
17
+ hashie (>= 1.2)
18
+ multi_json (>= 1.7.5, < 2.0)
19
+ nokogiri (~> 1.6.0)
20
+ oauth2
21
+ hashie (3.4.6)
22
+ highline (1.7.8)
23
+ jeweler (2.1.2)
24
+ builder
25
+ bundler (>= 1.0)
9
26
  git (>= 1.2.5)
27
+ github_api (~> 0.11.0)
28
+ highline (>= 1.6.15)
29
+ nokogiri (>= 1.5.10)
10
30
  rake
11
31
  rdoc
12
- json (1.7.4)
13
- rack (1.4.1)
32
+ semver
33
+ json (1.8.3)
34
+ jwt (1.5.6)
35
+ mini_portile2 (2.1.0)
36
+ minitest (5.9.1)
37
+ multi_json (1.12.1)
38
+ multi_xml (0.5.5)
39
+ multipart-post (2.0.0)
40
+ nokogiri (1.6.8.1)
41
+ mini_portile2 (~> 2.1.0)
42
+ oauth2 (1.2.0)
43
+ faraday (>= 0.8, < 0.10)
44
+ jwt (~> 1.0)
45
+ multi_json (~> 1.3)
46
+ multi_xml (~> 0.5)
47
+ rack (>= 1.2, < 3)
48
+ public_suffix (2.0.4)
49
+ rack (2.0.1)
14
50
  rack-test (0.6.1)
15
51
  rack (>= 1.0)
16
- rake (0.9.2.2)
17
- rdoc (3.12)
52
+ rake (11.3.0)
53
+ rdoc (3.12.2)
18
54
  json (~> 1.4)
55
+ semver (1.0.1)
56
+ thread_safe (0.3.5)
19
57
 
20
58
  PLATFORMS
21
59
  ruby
22
60
 
23
61
  DEPENDENCIES
24
- builder (~> 3.0.0)
25
- flexmock (~> 0.8)
26
- jeweler (~> 1.8.4)
62
+ builder (>= 3.1)
63
+ flexmock
64
+ jeweler (~> 2, >= 2.1.2)
65
+ minitest
27
66
  rack-test
28
67
  rdoc (~> 3.12)
68
+
69
+ BUNDLED WITH
70
+ 1.13.1
@@ -5,29 +5,44 @@ Your application can then be used with blog clients like BlogJet and MarsEdit.
5
5
 
6
6
  == Quickly defining a blog RPC handler
7
7
 
8
- You can also define your blog handler right in the rackup file or elsewhere:
8
+ Define your blog handler right in the rackup file:
9
9
 
10
- rpc_endpoint = BlogRPC.generate_endpoint do | handler |
11
- handler.rpc "mt.publishPost", :in => [:int, :string, :string], :out => :bool do | postid, user, pw |
12
- login!(user, pw)
13
- get_entry(postid).update_attributes :draft => false
14
- true
15
- end
16
- end
10
+ rpc_endpoint = BlogRPC.generate_endpoint do | handler |
11
+ handler.rpc "mt.publishPost", :in => [:int, :string, :string], :out => :bool do | postid, user, pw |
12
+ login!(user, pw)
13
+ get_entry(postid).update_attributes :draft => false
14
+ true
15
+ end
16
+ end
17
+
18
+ run rpc_endpoint
17
19
 
18
- run rpc_endpoint
20
+ or as a separate class:
21
+
22
+ class MyHandler < BlogRPC::BasicHandler
23
+ rpc "mt.publishPost", :in => [:int, :string, :string], :out => :bool do | postid, user, pw |
24
+ login!(user, pw)
25
+ get_entry(postid).update_attributes :draft => false
26
+ true
27
+ end
28
+ end
29
+
30
+ rpc_endpoint = BlogRPC::RackApp.new(MyHandler.new)
31
+ run rpc_endpoint
19
32
 
20
33
 
21
34
  == More involved examples
22
35
 
23
- The gem consists of two parts. The first part is a Rack application that will handle XML-RPC requests and respond to them. It handles things like
24
- wrapping exceptions properly, detecting the needed parameters and configuring all of the IO so that Ruby's XML-RPC facilities can get at it.
36
+ The gem consists of two parts. The first part is a Rack application that will handle XML-RPC requests and respond to them. It's primary role is
37
+ an adapter between the old Ruby's XML-RPC library that ships with Ruby and the more modern Rack infrastructure.
38
+
39
+ It handles things like wrapping exceptions properly, detecting the needed parameters and configuring all of the IO so that Ruby's XML-RPC facilities can get at it.
25
40
  You use it like this:
26
41
 
27
- rpc_endpoint = BlogRPC::RackApp.new(MyBlogHandler.new)
28
- rpc_endpoint.blog_url = "http://site.com"
29
- rpc_endpoint.rpc_endpoint_url = "/secret-rpc-url.xml"
30
- rpc_endpoint.call(env)
42
+ rpc_endpoint = BlogRPC::RackApp.new(MyBlogHandler.new)
43
+ rpc_endpoint.blog_url = "http://site.com"
44
+ rpc_endpoint.rpc_endpoint_url = "/secret-rpc-url.xml"
45
+ rpc_endpoint.call(env)
31
46
 
32
47
  The BlogHandler object should be a more or less complete subclass of BlogHandler that you provide. When the RPC application receives a GET request
33
48
  it will respond with the RSD fragment that will auto-configure your blogging client (like MarsEdit or BlogJet).
data/Rakefile CHANGED
@@ -27,10 +27,8 @@ end
27
27
  Jeweler::RubygemsDotOrgTasks.new
28
28
 
29
29
  require 'rake/testtask'
30
- Rake::TestTask.new(:test) do |test|
31
- test.libs << 'lib' << 'test'
32
- test.pattern = 'test/**/test_*.rb'
33
- test.verbose = true
30
+ Rake::TestTask.new do |t|
31
+ t.test_files = FileList['test/**/test_*.rb']
34
32
  end
35
33
 
36
34
  task :default => :test
@@ -2,14 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: blogrpc 1.0.1 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
8
  s.name = "blogrpc"
8
- s.version = "1.0.0"
9
+ s.version = "1.0.1"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
11
13
  s.authors = ["Julik Tarkhanov"]
12
- s.date = "2012-08-11"
14
+ s.date = "2016-11-12"
13
15
  s.email = "me@julik.nl"
14
16
  s.extra_rdoc_files = [
15
17
  "LICENSE.txt",
@@ -34,31 +36,33 @@ Gem::Specification.new do |s|
34
36
  ]
35
37
  s.homepage = "http://github.com/julik/blogrpc"
36
38
  s.licenses = ["MIT"]
37
- s.require_paths = ["lib"]
38
- s.rubygems_version = "1.8.24"
39
+ s.rubygems_version = "2.4.5.1"
39
40
  s.summary = "Easily construct MT and MetaWeblog XML-RPC backends"
40
41
 
41
42
  if s.respond_to? :specification_version then
42
- s.specification_version = 3
43
+ s.specification_version = 4
43
44
 
44
45
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
45
- s.add_runtime_dependency(%q<builder>, ["~> 3.0.0"])
46
+ s.add_runtime_dependency(%q<builder>, [">= 3.1"])
47
+ s.add_development_dependency(%q<minitest>, [">= 0"])
46
48
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
47
- s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
48
- s.add_development_dependency(%q<flexmock>, ["~> 0.8"])
49
+ s.add_development_dependency(%q<jeweler>, [">= 2.1.2", "~> 2"])
50
+ s.add_development_dependency(%q<flexmock>, [">= 0"])
49
51
  s.add_development_dependency(%q<rack-test>, [">= 0"])
50
52
  else
51
- s.add_dependency(%q<builder>, ["~> 3.0.0"])
53
+ s.add_dependency(%q<builder>, [">= 3.1"])
54
+ s.add_dependency(%q<minitest>, [">= 0"])
52
55
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
53
- s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
54
- s.add_dependency(%q<flexmock>, ["~> 0.8"])
56
+ s.add_dependency(%q<jeweler>, [">= 2.1.2", "~> 2"])
57
+ s.add_dependency(%q<flexmock>, [">= 0"])
55
58
  s.add_dependency(%q<rack-test>, [">= 0"])
56
59
  end
57
60
  else
58
- s.add_dependency(%q<builder>, ["~> 3.0.0"])
61
+ s.add_dependency(%q<builder>, [">= 3.1"])
62
+ s.add_dependency(%q<minitest>, [">= 0"])
59
63
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
60
- s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
61
- s.add_dependency(%q<flexmock>, ["~> 0.8"])
64
+ s.add_dependency(%q<jeweler>, [">= 2.1.2", "~> 2"])
65
+ s.add_dependency(%q<flexmock>, [">= 0"])
62
66
  s.add_dependency(%q<rack-test>, [">= 0"])
63
67
  end
64
68
  end
@@ -1,5 +1,5 @@
1
1
  module BlogRPC
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
 
4
4
  # Generate an RPC Rack application and yield it's only handler class to the passed block.
5
5
  # Call rpc(...) on the yielded class to define methods
@@ -1,32 +1,11 @@
1
1
  require 'rubygems'
2
2
  require 'bundler'
3
- require 'http_simulator'
4
- require 'test/unit'
3
+ require 'minitest'
5
4
  require 'flexmock'
6
- require 'flexmock/test_unit'
5
+ require 'flexmock/minitest'
7
6
  require 'net/http'
8
-
9
- # http://redmine.ruby-lang.org/issues/4882
10
- # https://github.com/jimweirich/flexmock/issues/4
11
- # https://github.com/julik/flexmock/commit/4acea00677e7b558bd564ec7c7630f0b27d368ca
12
- class FlexMock::PartialMockProxy
13
- def singleton?(method_name)
14
- @obj.singleton_methods.include?(method_name.to_s)
15
- end
16
- end
17
-
18
- begin
19
- Bundler.setup(:default, :development)
20
- rescue Bundler::BundlerError => e
21
- $stderr.puts e.message
22
- $stderr.puts "Run `bundle install` to install missing gems"
23
- exit e.status_code
24
- end
25
- require 'test/unit'
7
+ require_relative 'http_simulator'
26
8
 
27
9
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
28
10
  $LOAD_PATH.unshift(File.dirname(__FILE__))
29
11
  require 'blogrpc'
30
-
31
- class Test::Unit::TestCase
32
- end
@@ -1,8 +1,8 @@
1
- require 'helper'
1
+ require_relative 'helper'
2
2
  require 'xmlrpc/client'
3
3
  require 'rack/test'
4
4
 
5
- class TestRackHandler < Test::Unit::TestCase
5
+ class TestRackHandler < Minitest::Test
6
6
  include Rack::Test::Methods
7
7
 
8
8
  def response
@@ -1,6 +1,6 @@
1
- require 'helper'
1
+ require_relative 'helper'
2
2
 
3
- class TesRpcHandlerMethodDefinitions < Test::Unit::TestCase
3
+ class TesRpcHandlerMethodDefinitions < Minitest::Test
4
4
 
5
5
  class Sub < BlogRPC::BasicHandler
6
6
  rpc "julik.testMethod", :in => [:int], :out => :array do
metadata CHANGED
@@ -1,94 +1,103 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blogrpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
5
- prerelease:
4
+ version: 1.0.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Julik Tarkhanov
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-08-11 00:00:00.000000000 Z
11
+ date: 2016-11-12 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: builder
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
- version: 3.0.0
19
+ version: '3.1'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
- version: 3.0.0
26
+ version: '3.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
30
41
  - !ruby/object:Gem::Dependency
31
42
  name: rdoc
32
43
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
44
  requirements:
35
- - - ~>
45
+ - - "~>"
36
46
  - !ruby/object:Gem::Version
37
47
  version: '3.12'
38
48
  type: :development
39
49
  prerelease: false
40
50
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
51
  requirements:
43
- - - ~>
52
+ - - "~>"
44
53
  - !ruby/object:Gem::Version
45
54
  version: '3.12'
46
55
  - !ruby/object:Gem::Dependency
47
56
  name: jeweler
48
57
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
58
  requirements:
51
- - - ~>
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 2.1.2
62
+ - - "~>"
52
63
  - !ruby/object:Gem::Version
53
- version: 1.8.4
64
+ version: '2'
54
65
  type: :development
55
66
  prerelease: false
56
67
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
68
  requirements:
59
- - - ~>
69
+ - - ">="
60
70
  - !ruby/object:Gem::Version
61
- version: 1.8.4
71
+ version: 2.1.2
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '2'
62
75
  - !ruby/object:Gem::Dependency
63
76
  name: flexmock
64
77
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
78
  requirements:
67
- - - ~>
79
+ - - ">="
68
80
  - !ruby/object:Gem::Version
69
- version: '0.8'
81
+ version: '0'
70
82
  type: :development
71
83
  prerelease: false
72
84
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
85
  requirements:
75
- - - ~>
86
+ - - ">="
76
87
  - !ruby/object:Gem::Version
77
- version: '0.8'
88
+ version: '0'
78
89
  - !ruby/object:Gem::Dependency
79
90
  name: rack-test
80
91
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
92
  requirements:
83
- - - ! '>='
93
+ - - ">="
84
94
  - !ruby/object:Gem::Version
85
95
  version: '0'
86
96
  type: :development
87
97
  prerelease: false
88
98
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
99
  requirements:
91
- - - ! '>='
100
+ - - ">="
92
101
  - !ruby/object:Gem::Version
93
102
  version: '0'
94
103
  description:
@@ -99,7 +108,7 @@ extra_rdoc_files:
99
108
  - LICENSE.txt
100
109
  - README.rdoc
101
110
  files:
102
- - .document
111
+ - ".document"
103
112
  - Gemfile
104
113
  - Gemfile.lock
105
114
  - LICENSE.txt
@@ -117,29 +126,25 @@ files:
117
126
  homepage: http://github.com/julik/blogrpc
118
127
  licenses:
119
128
  - MIT
129
+ metadata: {}
120
130
  post_install_message:
121
131
  rdoc_options: []
122
132
  require_paths:
123
133
  - lib
124
134
  required_ruby_version: !ruby/object:Gem::Requirement
125
- none: false
126
135
  requirements:
127
- - - ! '>='
136
+ - - ">="
128
137
  - !ruby/object:Gem::Version
129
138
  version: '0'
130
- segments:
131
- - 0
132
- hash: -815078792002993529
133
139
  required_rubygems_version: !ruby/object:Gem::Requirement
134
- none: false
135
140
  requirements:
136
- - - ! '>='
141
+ - - ">="
137
142
  - !ruby/object:Gem::Version
138
143
  version: '0'
139
144
  requirements: []
140
145
  rubyforge_project:
141
- rubygems_version: 1.8.24
146
+ rubygems_version: 2.4.5.1
142
147
  signing_key:
143
- specification_version: 3
148
+ specification_version: 4
144
149
  summary: Easily construct MT and MetaWeblog XML-RPC backends
145
150
  test_files: []