Class: CognitiveFaculty::Badge
- Inherits:
-
Object
- Object
- CognitiveFaculty::Badge
- Includes:
- Her::Model
- Defined in:
- lib/cognitive_faculty/models/badge.rb
Overview
Model for a Badge
Instance Method Summary collapse
- #eligible?(lp_certs_url, learning_path, user) ⇒ Boolean
- #issue(lp_certs_url, learning_path, opts = {}) ⇒ Object
- #issued_badge(email) ⇒ Object
Instance Method Details
#eligible?(lp_certs_url, learning_path, user) ⇒ Boolean
30 31 32 33 34 |
# File 'lib/cognitive_faculty/models/badge.rb', line 30 def eligible?(lp_certs_url, learning_path, user) self.class.get_raw("#{lp_certs_url}/certificates/#{user[:username]}/#{learning_path[:slug]}/status") do |status| status[:data][:eligible] end end |
#issue(lp_certs_url, learning_path, opts = {}) ⇒ Object
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/cognitive_faculty/models/badge.rb', line 9 def issue(lp_certs_url, learning_path, opts = {}) opts["badge_template_id"] = id opts["email"] = opts[:to][:email] opts["first_name"] = opts[:to][:name].split(" ", 2).first opts["last_name"] = opts[:to][:name].split(" ", 2).last return false unless eligible?(lp_certs_url, learning_path, opts[:to]) self.class.post_raw("/api/badges", opts) do |parsed_data| parsed_data[:data][:success] end end |
#issued_badge(email) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/cognitive_faculty/models/badge.rb', line 20 def issued_badge(email) self.class.get_raw("/api/badges/#{id}/issued?email=#{email}") do |data| if data[:data][:issued] data[:data][:badge] else false end end end |