Class: WtfRuby::Classy

Inherits:
Object
  • Object
show all
Defined in:
lib/wtf_ruby/class.rb

Constant Summary collapse

@@all =
[]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Classy

Returns a new instance of Classy.



10
11
12
13
# File 'lib/wtf_ruby/class.rb', line 10

def initialize(name)
  @name = name
  @@all << self
end

Instance Attribute Details

#contentObject

Returns the value of attribute content.



6
7
8
# File 'lib/wtf_ruby/class.rb', line 6

def content
  @content
end

#methodsObject

Returns the value of attribute methods.



6
7
8
# File 'lib/wtf_ruby/class.rb', line 6

def methods
  @methods
end

#nameObject

Returns the value of attribute name.



6
7
8
# File 'lib/wtf_ruby/class.rb', line 6

def name
  @name
end

Class Method Details

.allObject



15
16
17
# File 'lib/wtf_ruby/class.rb', line 15

def self.all
  @@all
end

.create_from_collection(list_of_classes) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/wtf_ruby/class.rb', line 19

def self.create_from_collection(list_of_classes)

  list_of_classes.each do |class_name|
      self.new(class_name)

  end
end

.create_methods_for_all_classesObject



27
28
29
30
31
# File 'lib/wtf_ruby/class.rb', line 27

def self.create_methods_for_all_classes
  self.all.each do |ind_class|
      ind_class.create_methods_for_instance_of_class
  end
end

Instance Method Details

#create_methods_for_instance_of_classObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/wtf_ruby/class.rb', line 34

def create_methods_for_instance_of_class
   method_names = WtfRuby::Scraper.scrape_methods(@name)
   method_contents = WtfRuby::Scraper.scrape_method_content_from_class_page(@name)
   index_placeholder = 0
   @methods = []
   method_contents.each do |content|
     new_method_of_class = WtfRuby::Meth.new
     new_method_of_class.name = method_names[index_placeholder]
     new_method_of_class.headings = content[:headings].split('click to toggle source')
     new_method_of_class.description = content[:full_description]
     new_method_of_class.mini_description = content[:mini_description]
     new_method_of_class.sample_code = content[:code]
     @methods << new_method_of_class
     index_placeholder += 1
  end
end