class Meer::Datameer
Attributes
password[R]
uri[R]
user[R]
Public Class Methods
new(url, user=nil, password=nil)
click to toggle source
# File lib/meer/datameer.rb, line 6 def initialize url, user=nil, password=nil @uri, @user, @password = URI(url), user, password @http = Net::HTTP.new uri.host, uri.port @http.use_ssl = true if uri.port == 443 end
Public Instance Methods
get(url)
click to toggle source
# File lib/meer/datameer.rb, line 31 def get url req = Net::HTTP::Get.new(URI(uri.to_s + url)) request(req) end
login()
click to toggle source
# File lib/meer/datameer.rb, line 42 def login resp = get('/browser') if resp.code.to_i == 200 Session.set(resp['set-cookie']) puts "Logged In" else puts "Failed to log in" end end
post(url)
click to toggle source
# File lib/meer/datameer.rb, line 36 def post url req = Net::HTTP::Post.new(URI(uri.to_s + url)) request(req) end
request(req)
click to toggle source
# File lib/meer/datameer.rb, line 14 def request req if [user, password].compact.size == 2 req.basic_auth self.user, self.password else req['Cookie'] = Session.load end res = @http.request(req) if res.code == '200' res else puts "error fetching #{req.uri}" puts res.code puts res.to_hash end end
run_workbook(wb_id)
click to toggle source
# File lib/meer/datameer.rb, line 67 def run_workbook wb_id JSON.parse post("/rest/job-execution?configuration=#{wb_id}").body end
running_jobs()
click to toggle source
# File lib/meer/datameer.rb, line 71 def running_jobs JSON.parse get("/rest/jobs/list-running").body end
workbook(wb_id)
click to toggle source
# File lib/meer/datameer.rb, line 59 def workbook wb_id JSON.parse(get("/rest/workbook/#{wb_id}").body) end
workbook_data(wb_id, sheet)
click to toggle source
# File lib/meer/datameer.rb, line 54 def workbook_data wb_id, sheet res = get "/rest/data/workbook/#{wb_id}/#{sheet}/download" res.body end
workbooks()
click to toggle source
# File lib/meer/datameer.rb, line 63 def workbooks JSON.parse(get("/rest/workbook").body) end