blogrpc 1.0.0 → 1.0.1

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.
@@ -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: []