ahub 0.9.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eea5556dd0851e625a33b94ba6f13b52cafb9fd2
4
- data.tar.gz: 28bcc8ef3dd56cab63dde2ed88f9947dcd926224
3
+ metadata.gz: e3e902cfaa02f5bd66bcae1e6ad9b768d23aaf57
4
+ data.tar.gz: c138bb17202cac0246b7521245f09227a6a5ed98
5
5
  SHA512:
6
- metadata.gz: 3568aadc748266d1dd76f748f1024cb7e81a80a660388f35260a458ddd6c4323e61d790453547182710f89707babd42de33e69a81133b510431219dc0f564135
7
- data.tar.gz: addb0b83bd90477da95c1b384ee281bef1d1b64f12f462cd231f1bfe822f041729c1d3b8d8684764b8b6183c9a82e5f6a55e1542d064d9e3431bf7daa50bbfed
6
+ metadata.gz: ab53f73c3745ef70bab51fe4d48bd3d44e2ab7e1967802e9b67278fb9d3f76d8ae98ece237e07608b992e387f25576b4966a30eb941fac596e7e55011c99bb5a
7
+ data.tar.gz: 5ac02a3a7deda534386c927baf1c22997a009c39fcca0b0e8045c6eeef1307d351ad0d2379d9d09e2f18a0c33382f744d62e6fd207e557fd43bb8340659a4d3e
data/lib/ahub/answer.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  module Ahub
2
2
  class Answer
3
3
  include Ahub::APIResource
4
+ include Ahub::Deletable
4
5
 
5
6
  def self.create(question_id:, body:, username:, password:)
6
7
  url = "#{Ahub::DOMAIN}/services/v2/question/#{question_id}/answer.json"
@@ -12,10 +12,6 @@ module Ahub
12
12
  raise NotImplementedError
13
13
  end
14
14
 
15
- def destroy
16
- raise NotImplementedError
17
- end
18
-
19
15
  def initialize(attrs)
20
16
  @attributes = attrs
21
17
  attrs.each_pair do |k,v|
@@ -80,7 +76,8 @@ module Ahub
80
76
  end
81
77
 
82
78
  def get_resources(url:, headers:, klass:)
83
- JSON.parse(RestClient.get(url, headers), symbolize_names:true)[:list].map do |node|
79
+ response = JSON.parse(RestClient.get(url, headers), symbolize_names:true)
80
+ response[:list].map do |node|
84
81
  klass.new(node)
85
82
  end
86
83
  end
@@ -0,0 +1,34 @@
1
+ require 'base64'
2
+ require 'active_support/concern'
3
+
4
+ module Ahub
5
+ module Deletable
6
+ extend ActiveSupport::Concern
7
+
8
+ included do
9
+ alias_method :restore, :undelete
10
+ end
11
+
12
+ def delete(headers:)
13
+ self.class.update_node(action: :delete, node_id: id, headers: headers)
14
+ end
15
+
16
+ def undelete(headers:)
17
+ self.class.update_node(action: :undelete, node_id: id, headers: headers)
18
+ end
19
+
20
+ class_methods do
21
+ def update_node(action:, node_id:, headers:)
22
+ raise Exception.new('Unknown Action: use :delete or :undelete') unless %i(delete undelete).include?(action)
23
+ url = "#{Ahub::DOMAIN}/services/v2/node/#{node_id}/#{action}.json"
24
+
25
+ begin
26
+ response = RestClient.put(url, {}.to_json, headers)
27
+ response.code == 200
28
+ rescue Exception => e
29
+ false
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
data/lib/ahub/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ahub
2
- VERSION = "0.9.0"
2
+ VERSION = "0.10.0"
3
3
  end
data/lib/ahub.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'dotenv'
2
2
  require 'rest_client'
3
3
  require 'ahub/modules/api_resource'
4
+ require 'ahub/modules/deletable'
4
5
  require 'ahub/version'
5
6
  require 'ahub/user'
6
7
  require 'ahub/question'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ahub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Abel Martin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-23 00:00:00.000000000 Z
11
+ date: 2015-11-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -148,6 +148,7 @@ files:
148
148
  - lib/ahub/answer.rb
149
149
  - lib/ahub/group.rb
150
150
  - lib/ahub/modules/api_resource.rb
151
+ - lib/ahub/modules/deletable.rb
151
152
  - lib/ahub/question.rb
152
153
  - lib/ahub/space.rb
153
154
  - lib/ahub/topic.rb