class Boolio
Constants
- URL
- VERSION
Attributes
id[R]
val[RW]
Public Class Methods
fetch(id)
click to toggle source
# File lib/boolio.rb, line 32 def self.fetch(id) response = HTTP.get(URL + id) boolean = JSON.parse response.body Boolio.new(id: boolean["id"], val: boolean["val"]) end
new(opts = {})
click to toggle source
# File lib/boolio.rb, line 11 def initialize(opts = {}) @val = process_init_value(opts[:val]) @id = opts[:id] || post(@val)["id"] end
Public Instance Methods
destroy!()
click to toggle source
# File lib/boolio.rb, line 20 def destroy! return if frozen? response = delete if response.code == 200 @id = nil @val = nil freeze else raise "Could not destroy boolean: #{response.status}" end end
to_s()
click to toggle source
# File lib/boolio.rb, line 38 def to_s val end
update(value = val)
click to toggle source
# File lib/boolio.rb, line 16 def update(value = val) put(value) end
Private Instance Methods
delete()
click to toggle source
# File lib/boolio.rb, line 60 def delete HTTP.delete(URL + id) end
post(value)
click to toggle source
# File lib/boolio.rb, line 55 def post(value) response = HTTP.post(URL, form: { val: value }) JSON.parse response.body end
process_init_value(value)
click to toggle source
# File lib/boolio.rb, line 44 def process_init_value(value) return [true, false].sample if value.nil? raise ArgumentError, "Provide a boolean." unless [TrueClass, FalseClass, String].include?(value.class) value.to_s == "true" end
put(value)
click to toggle source
# File lib/boolio.rb, line 50 def put(value) response = HTTP.put((URL + id), form: { val: value }) JSON.parse response.body end