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
Returns a new instance of 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
19
20
|
# 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) }
rescue
[]
end
|
Instance Method Details
#as_json(opts) ⇒ Object
26
27
28
|
# File 'lib/brainspace/article.rb', line 26
def as_json(opts)
@mash.as_json(opts)
end
|
#to_json(opts) ⇒ Object
22
23
24
|
# File 'lib/brainspace/article.rb', line 22
def to_json(opts)
@mash.to_json(opts)
end
|