Class: FiddleFart::Jsfiddle

Inherits:
Object
  • Object
show all
Defined in:
lib/fiddle_fart/jsfiddle.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attrs = {}) ⇒ Jsfiddle

Returns a new instance of Jsfiddle.



5
6
7
# File 'lib/fiddle_fart/jsfiddle.rb', line 5

def initialize(attrs={})
  attrs.each { |k,v| instance_variable_set("@#{k}", v) }
end

Instance Attribute Details

#idObject

Returns the value of attribute id.



3
4
5
# File 'lib/fiddle_fart/jsfiddle.rb', line 3

def id
  @id
end

#revisionObject

Returns the value of attribute revision.



3
4
5
# File 'lib/fiddle_fart/jsfiddle.rb', line 3

def revision
  @revision
end

#usernameObject

Returns the value of attribute username.



3
4
5
# File 'lib/fiddle_fart/jsfiddle.rb', line 3

def username
  @username
end

Class Method Details

.parse(url) ⇒ Object



9
10
11
12
13
14
15
16
# File 'lib/fiddle_fart/jsfiddle.rb', line 9

def self.parse(url)
  obj = self.new
  host, domain, username, id, revision = url.scan(/([^\/^:]+)/).flatten
  obj.id = id
  obj.username = username
  obj.revision = revision
  obj
end

Instance Method Details

#as_jsonObject



28
29
30
31
32
33
34
# File 'lib/fiddle_fart/jsfiddle.rb', line 28

def as_json
  {
    edit_link: edit_link,
    embed_url: embed_url,
    share_link: share_link
  }
end


18
19
20
# File 'lib/fiddle_fart/jsfiddle.rb', line 18

def edit_link
  "http://jsfiddle.net/#{@username}/#{@id}/#{@revision}/"
end

#embed_urlObject Also known as: share_link



22
23
24
# File 'lib/fiddle_fart/jsfiddle.rb', line 22

def embed_url
  "http://jsfiddle.net/#{@username}/#{@id}/#{@revision}/embedded/result/"
end