wordpress-client 0.0.6 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/Rakefile +8 -0
- data/lib/faraday_middleware/gzip.rb +22 -0
- data/lib/wordpress-client.rb +2 -4
- data/lib/wordpress/api/comments.rb +6 -6
- data/lib/wordpress/api/me.rb +2 -2
- data/lib/wordpress/api/posts.rb +12 -12
- data/lib/wordpress/api/sites.rb +1 -1
- data/lib/wordpress/api/tests.rb +6 -6
- data/lib/wordpress/api/utils.rb +12 -14
- data/lib/wordpress/base.rb +24 -1
- data/lib/wordpress/client.rb +29 -31
- data/lib/wordpress/configuration.rb +1 -2
- data/lib/wordpress/errors.rb +10 -0
- data/lib/wordpress/object/array.rb +29 -0
- data/lib/wordpress/object/base.rb +94 -0
- data/lib/wordpress/object/comment.rb +11 -0
- data/lib/wordpress/object/comments.rb +8 -0
- data/lib/wordpress/object/meta_object.rb +62 -0
- data/lib/wordpress/{post.rb → object/post.rb} +6 -8
- data/lib/wordpress/object/posts.rb +8 -0
- data/lib/wordpress/object/site.rb +8 -0
- data/lib/wordpress/{test.rb → object/test.rb} +3 -3
- data/lib/wordpress/object/user.rb +8 -0
- data/lib/wordpress/ostruct.rb +28 -36
- data/lib/wordpress/request.rb +24 -0
- data/lib/wordpress/version.rb +2 -2
- data/spec/spec_helper.rb +13 -0
- data/spec/wordpress-client_spec.rb +20 -2
- data/spec/wordpress/base_spec.rb +54 -11
- data/spec/wordpress/client_spec.rb +50 -0
- data/spec/wordpress/object/base_spec.rb +56 -0
- data/spec/wordpress/ostruct_spec.rb +15 -9
- data/spec/wordpress/request_spec.rb +5 -0
- data/wordpress-client.gemspec +4 -3
- metadata +42 -38
- data/lib/wordpress/array.rb +0 -30
- data/lib/wordpress/comment.rb +0 -14
- data/lib/wordpress/comment_array.rb +0 -10
- data/lib/wordpress/like_array.rb +0 -9
- data/lib/wordpress/like_result.rb +0 -9
- data/lib/wordpress/object.rb +0 -34
- data/lib/wordpress/post_array.rb +0 -10
- data/lib/wordpress/site.rb +0 -9
- data/lib/wordpress/user.rb +0 -9
- data/spec/wordpress/object_spec.rb +0 -31
data/lib/wordpress/object.rb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
require 'wordpress/base'
|
2
|
-
require 'date'
|
3
|
-
|
4
|
-
module Wordpress
|
5
|
-
class Object < Wordpress::OpenStruct
|
6
|
-
class << self
|
7
|
-
def attr_parameter(*args)
|
8
|
-
options = args[-1].is_a?(Hash) ? args.pop : {}
|
9
|
-
args.each do |arg|
|
10
|
-
arg = arg.to_s
|
11
|
-
|
12
|
-
define_method arg do
|
13
|
-
send("#{arg}=", @hash[arg])
|
14
|
-
end
|
15
|
-
|
16
|
-
define_method "#{arg}=" do |v|
|
17
|
-
if as = options[:as]
|
18
|
-
@hash[arg] = (as.is_a?(Proc) ? as.call(v) : as.new(v))
|
19
|
-
elsif v.is_a?(Hash)
|
20
|
-
@hash[arg] = Wordpress::OpenStruct.new(v)
|
21
|
-
else
|
22
|
-
@hash[arg] = v
|
23
|
-
end
|
24
|
-
@hash[arg]
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
def initialize(params = {})
|
31
|
-
params ? super(Hash[params.map { |k, v| [k.to_s.downcase, v] }]) : super
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
data/lib/wordpress/post_array.rb
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
require 'wordpress/array'
|
2
|
-
require 'wordpress/post'
|
3
|
-
|
4
|
-
module Wordpress
|
5
|
-
class PostArray < Wordpress::Array
|
6
|
-
attr_parameter :found
|
7
|
-
attr_parameter :posts, :as => lambda { |array| array.nil? ? [] : array.map { |v| Wordpress::Post.new(v) } }
|
8
|
-
array_delegator :@posts
|
9
|
-
end
|
10
|
-
end
|
data/lib/wordpress/site.rb
DELETED
data/lib/wordpress/user.rb
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
require 'wordpress/object'
|
2
|
-
require 'wordpress/ostruct'
|
3
|
-
|
4
|
-
module Wordpress
|
5
|
-
class User < Wordpress::Object
|
6
|
-
attr_parameter :id, :display_name, :username, :email, :primary_blog, :avatar_url, :profile_url, :verified
|
7
|
-
attr_parameter :meta, :as => Wordpress::OpenStruct
|
8
|
-
end
|
9
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Wordpress::Object do
|
4
|
-
it 'should respond to attr_parameter method' do
|
5
|
-
klass = Wordpress::Object
|
6
|
-
klass.should respond_to :attr_parameter
|
7
|
-
end
|
8
|
-
|
9
|
-
it 'should define methods for initial parameters' do
|
10
|
-
klass = Class.new(Wordpress::Object) do
|
11
|
-
attr_parameter :param
|
12
|
-
end
|
13
|
-
ins = klass.new
|
14
|
-
ins.should respond_to(:param)
|
15
|
-
ins.should respond_to(:param=)
|
16
|
-
ins.should_not respond_to(:unknown)
|
17
|
-
ins.should_not respond_to(:unknown=)
|
18
|
-
end
|
19
|
-
|
20
|
-
it 'should define methods for initial parameters' do
|
21
|
-
klass = Class.new(Wordpress::Object) do
|
22
|
-
attr_parameter :param
|
23
|
-
attr_parameter :param_as_klass, :as => Array
|
24
|
-
attr_parameter :param_as_proc, :as => lambda { |v| v.to_s }
|
25
|
-
end
|
26
|
-
ins = klass.new(:param => 1, :param_as_klass => 1, :param_as_proc => 1)
|
27
|
-
ins.param.should == 1
|
28
|
-
ins.param_as_klass.should == [nil]
|
29
|
-
ins.param_as_proc.should == '1'
|
30
|
-
end
|
31
|
-
end
|