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.
Files changed (46) hide show
  1. checksums.yaml +15 -0
  2. data/Rakefile +8 -0
  3. data/lib/faraday_middleware/gzip.rb +22 -0
  4. data/lib/wordpress-client.rb +2 -4
  5. data/lib/wordpress/api/comments.rb +6 -6
  6. data/lib/wordpress/api/me.rb +2 -2
  7. data/lib/wordpress/api/posts.rb +12 -12
  8. data/lib/wordpress/api/sites.rb +1 -1
  9. data/lib/wordpress/api/tests.rb +6 -6
  10. data/lib/wordpress/api/utils.rb +12 -14
  11. data/lib/wordpress/base.rb +24 -1
  12. data/lib/wordpress/client.rb +29 -31
  13. data/lib/wordpress/configuration.rb +1 -2
  14. data/lib/wordpress/errors.rb +10 -0
  15. data/lib/wordpress/object/array.rb +29 -0
  16. data/lib/wordpress/object/base.rb +94 -0
  17. data/lib/wordpress/object/comment.rb +11 -0
  18. data/lib/wordpress/object/comments.rb +8 -0
  19. data/lib/wordpress/object/meta_object.rb +62 -0
  20. data/lib/wordpress/{post.rb → object/post.rb} +6 -8
  21. data/lib/wordpress/object/posts.rb +8 -0
  22. data/lib/wordpress/object/site.rb +8 -0
  23. data/lib/wordpress/{test.rb → object/test.rb} +3 -3
  24. data/lib/wordpress/object/user.rb +8 -0
  25. data/lib/wordpress/ostruct.rb +28 -36
  26. data/lib/wordpress/request.rb +24 -0
  27. data/lib/wordpress/version.rb +2 -2
  28. data/spec/spec_helper.rb +13 -0
  29. data/spec/wordpress-client_spec.rb +20 -2
  30. data/spec/wordpress/base_spec.rb +54 -11
  31. data/spec/wordpress/client_spec.rb +50 -0
  32. data/spec/wordpress/object/base_spec.rb +56 -0
  33. data/spec/wordpress/ostruct_spec.rb +15 -9
  34. data/spec/wordpress/request_spec.rb +5 -0
  35. data/wordpress-client.gemspec +4 -3
  36. metadata +42 -38
  37. data/lib/wordpress/array.rb +0 -30
  38. data/lib/wordpress/comment.rb +0 -14
  39. data/lib/wordpress/comment_array.rb +0 -10
  40. data/lib/wordpress/like_array.rb +0 -9
  41. data/lib/wordpress/like_result.rb +0 -9
  42. data/lib/wordpress/object.rb +0 -34
  43. data/lib/wordpress/post_array.rb +0 -10
  44. data/lib/wordpress/site.rb +0 -9
  45. data/lib/wordpress/user.rb +0 -9
  46. data/spec/wordpress/object_spec.rb +0 -31
@@ -1,9 +0,0 @@
1
- require 'wordpress/object'
2
- require 'wordpress/ostruct'
3
-
4
- module Wordpress
5
- class LikeResult < Wordpress::Object
6
- attr_parameter :success, :i_like, :like_count
7
- attr_parameter :meta, :as => Wordpress::OpenStruct
8
- end
9
- end
@@ -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
@@ -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
@@ -1,9 +0,0 @@
1
- require 'wordpress/object'
2
- require 'wordpress/ostruct'
3
-
4
- module Wordpress
5
- class Site < Wordpress::Object
6
- attr_parameter :id, :name, :description, :url, :jetpack, :post_count, :lang
7
- attr_parameter :meta, :as => Wordpress::OpenStruct
8
- end
9
- end
@@ -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