Class: Brainspace::Article
- Inherits:
-
Object
- Object
- Brainspace::Article
show all
- Defined in:
- lib/brainspace/article.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(attributes) ⇒ Article
5
6
7
|
# File 'lib/brainspace/article.rb', line 5
def initialize(attributes)
@mash = attributes
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_sym, *arguments, &block) ⇒ Object
9
10
11
|
# File 'lib/brainspace/article.rb', line 9
def method_missing(method_sym, *arguments, &block)
@mash.send(method_sym, *arguments)
end
|
Class Method Details
.discover(query) ⇒ Object
13
14
15
16
17
18
|
# File 'lib/brainspace/article.rb', line 13
def self.discover(query)
response = Faraday.get("#{Brainspace.config.host}/discovery/concept", apikey: Brainspace.apikey, query: query)
result = JSON.parse(response.body)
articles = Hashie::Mash.new(result).data.map {|d| d.articles.first.merge(source: d.id) }
articles.map { |article| Brainspace::Article.new(article) }
end
|
Instance Method Details
#as_json(opts) ⇒ Object
24
25
26
|
# File 'lib/brainspace/article.rb', line 24
def as_json(opts)
@mash.as_json(opts)
end
|
#to_json(opts) ⇒ Object
20
21
22
|
# File 'lib/brainspace/article.rb', line 20
def to_json(opts)
@mash.to_json(opts)
end
|