Class: Urtak::Api
- Inherits:
-
Object
- Object
- Urtak::Api
- Defined in:
- lib/urtak.rb
Instance Attribute Summary collapse
-
#logger ⇒ Object
Returns the value of attribute logger.
-
#options ⇒ Object
Returns the value of attribute options.
Instance Method Summary collapse
- #approve_urtak_question(property, value, id) ⇒ Object
- #create_account(attributes) ⇒ Object
- #create_publication(attributes) ⇒ Object
- #create_urtak(urtak_attributes, questions = []) ⇒ Object
- #create_urtak_question(property, value, question) ⇒ Object
- #enable_logger(path) ⇒ Object
-
#get_account(id) ⇒ Object
ACCOUNTS.
-
#get_publication(key = options[:publication_key]) ⇒ Object
PUBLICATIONS.
- #get_question(id) ⇒ Object
- #get_urtak(property, value, options = {}) ⇒ Object
- #get_urtak_question(property, value, id, options = {}) ⇒ Object
- #ham_urtak_question(property, value, id) ⇒ Object
-
#initialize(user_options = {}) ⇒ Api
constructor
A new instance of Api.
-
#list_questions(options = {}) ⇒ Object
QUESTIONS.
-
#list_urtak_questions(property, value, options = {}) ⇒ Object
URTAK QUESTIONS.
-
#list_urtaks(options = {}) ⇒ Object
URTAKS.
- #log(level, message) ⇒ Object
- #reject_urtak_question(property, value, id) ⇒ Object
- #spam_urtak_question(property, value, id) ⇒ Object
- #update_publication(key, attributes) ⇒ Object
- #update_urtak(property, attributes) ⇒ Object
Constructor Details
#initialize(user_options = {}) ⇒ Api
Returns a new instance of Api.
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/urtak.rb', line 17 def initialize( = {}) @options = { :api_key => nil, :publication_key => nil, :email => nil, :user_id => nil, :api_base => "https://urtak.com/api", :api_format => "JSON", :client_name => "Urtak API Wrapper for Ruby, v#{Urtak::VERSION}" }.merge(.select{|k,v|!v.nil?}) end |
Instance Attribute Details
#logger ⇒ Object
Returns the value of attribute logger.
15 16 17 |
# File 'lib/urtak.rb', line 15 def logger @logger end |
#options ⇒ Object
Returns the value of attribute options.
15 16 17 |
# File 'lib/urtak.rb', line 15 def @options end |
Instance Method Details
#approve_urtak_question(property, value, id) ⇒ Object
132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/urtak.rb', line 132 def approve_urtak_question(property, value, id) if property == :id path = "urtaks/#{value}/questions/#{id}/approve" elsif property == :post_id path = "urtaks/post/#{value}/questions/#{id}/approve" elsif property == :permalink path = "urtaks/hash/#{Digest::SHA1.hexdigest(value)}/questions/#{id}/approve" end create_response(fire(:put, path)) end |
#create_account(attributes) ⇒ Object
43 44 45 |
# File 'lib/urtak.rb', line 43 def create_account(attributes) create_response(fire(:post, "accounts", {:account => attributes})) end |
#create_publication(attributes) ⇒ Object
52 53 54 |
# File 'lib/urtak.rb', line 52 def create_publication(attributes) create_response(fire(:post, "publications", {:publication => attributes})) end |
#create_urtak(urtak_attributes, questions = []) ⇒ Object
77 78 79 |
# File 'lib/urtak.rb', line 77 def create_urtak(urtak_attributes, questions=[]) create_response(fire(:post, 'urtaks', {:urtak => urtak_attributes.merge(:questions => questions)})) end |
#create_urtak_question(property, value, question) ⇒ Object
120 121 122 123 124 125 126 127 128 129 130 |
# File 'lib/urtak.rb', line 120 def create_urtak_question(property, value, question) if property == :id path = "urtaks/#{value}/questions" elsif property == :post_id path = "urtaks/post/#{value}/questions" elsif property == :permalink path = "urtaks/hash/#{Digest::SHA1.hexdigest(value)}/questions" end create_response(fire(:post, path, {:question => question})) end |
#enable_logger(path) ⇒ Object
29 30 31 32 |
# File 'lib/urtak.rb', line 29 def enable_logger(path) require 'logger' RestClient.log = @logger = Logger.new(path) end |
#get_account(id) ⇒ Object
ACCOUNTS
39 40 41 |
# File 'lib/urtak.rb', line 39 def get_account(id) create_response(fire(:get, "accounts/#{id}")) end |
#get_publication(key = options[:publication_key]) ⇒ Object
PUBLICATIONS
48 49 50 |
# File 'lib/urtak.rb', line 48 def get_publication(key = [:publication_key]) create_response(fire(:get, "publications/#{key}")) end |
#get_question(id) ⇒ Object
185 186 187 |
# File 'lib/urtak.rb', line 185 def get_question(id) create_response(fire(:get, "questions/#{id}")) end |
#get_urtak(property, value, options = {}) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/urtak.rb', line 65 def get_urtak(property, value, = {}) if property == :id path = "urtaks/#{value}" elsif property == :post_id path = "urtaks/post/#{value}" elsif property == :permalink path = "urtaks/hash/#{Digest::SHA1.hexdigest(value)}" end create_response(fire(:get, path, )) end |
#get_urtak_question(property, value, id, options = {}) ⇒ Object
108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/urtak.rb', line 108 def get_urtak_question(property, value, id, = {}) if property == :id path = "urtaks/#{value}/questions/#{id}" elsif property == :post_id path = "urtaks/post/#{value}/questions/#{id}" elsif property == :permalink path = "urtaks/hash/#{Digest::SHA1.hexdigest(value)}/questions/#{id}" end create_response(fire(:get, path, )) end |
#ham_urtak_question(property, value, id) ⇒ Object
168 169 170 171 172 173 174 175 176 177 178 |
# File 'lib/urtak.rb', line 168 def ham_urtak_question(property, value, id) if property == :id path = "urtaks/#{value}/questions/#{id}/ham" elsif property == :post_id path = "urtaks/post/#{value}/questions/#{id}/ham" elsif property == :permalink path = "urtaks/hash/#{Digest::SHA1.hexdigest(value)}/questions/#{id}/ham" end create_response(fire(:put, path)) end |
#list_questions(options = {}) ⇒ Object
QUESTIONS
181 182 183 |
# File 'lib/urtak.rb', line 181 def list_questions(={}) create_response(fire(:get, "questions", )) end |
#list_urtak_questions(property, value, options = {}) ⇒ Object
URTAK QUESTIONS
96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/urtak.rb', line 96 def list_urtak_questions(property, value, = {}) if property == :id path = "urtaks/#{value}/questions" elsif property == :post_id path = "urtaks/post/#{value}/questions" elsif property == :permalink path = "urtaks/hash/#{Digest::SHA1.hexdigest(value)}/questions" end create_response(fire(:get, path, )) end |
#list_urtaks(options = {}) ⇒ Object
URTAKS
61 62 63 |
# File 'lib/urtak.rb', line 61 def list_urtaks( = {}) create_response(fire(:get, "urtaks", )) end |
#log(level, message) ⇒ Object
34 35 36 |
# File 'lib/urtak.rb', line 34 def log(level, ) @logger.send(level, ) if @logger end |
#reject_urtak_question(property, value, id) ⇒ Object
144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/urtak.rb', line 144 def reject_urtak_question(property, value, id) if property == :id path = "urtaks/#{value}/questions/#{id}/reject" elsif property == :post_id path = "urtaks/post/#{value}/questions/#{id}/reject" elsif property == :permalink path = "urtaks/hash/#{Digest::SHA1.hexdigest(value)}/questions/#{id}/reject" end create_response(fire(:put, path)) end |
#spam_urtak_question(property, value, id) ⇒ Object
156 157 158 159 160 161 162 163 164 165 166 |
# File 'lib/urtak.rb', line 156 def spam_urtak_question(property, value, id) if property == :id path = "urtaks/#{value}/questions/#{id}/spam" elsif property == :post_id path = "urtaks/post/#{value}/questions/#{id}/spam" elsif property == :permalink path = "urtaks/hash/#{Digest::SHA1.hexdigest(value)}/questions/#{id}/spam" end create_response(fire(:put, path)) end |
#update_publication(key, attributes) ⇒ Object
56 57 58 |
# File 'lib/urtak.rb', line 56 def update_publication(key, attributes) create_response(fire(:put, "publications/#{key}", {:publication => attributes})) end |
#update_urtak(property, attributes) ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/urtak.rb', line 81 def update_urtak(property, attributes) value = attributes.delete(property) if property == :id path = "urtaks/#{value}" elsif property == :post_id path = "urtaks/post/#{value}" elsif property == :permalink path = "urtaks/hash/#{Digest::SHA1.hexdigest(value)}" end create_response(fire(:put, path, {:urtak => attributes})) end |