grammer 0.1.1.edge → 0.2.1.edge

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a3efaa410d894849bb8745cb2587906913fd0b47
4
- data.tar.gz: 95e81e4fa7e1a66543af2250ef52cf93c3ed213a
3
+ metadata.gz: 5859b926ee38745c21ad36c2cac29e3458c6ae62
4
+ data.tar.gz: 1c84b880ee2e0dfee69e12a464d8e759d588938b
5
5
  SHA512:
6
- metadata.gz: 7aaaa0fd4b5cb468f02125cea29da80db7627714f5efeca3b924aab4b8e15338cdda57f17c2d262c47ad24a199147bb4d666d902e828058b64ce94f3ede1309f
7
- data.tar.gz: e02c3fa58f25e98b2303f76d768bcba886ce4b5f776214fbed6e433c6051deed963c029fa5ad1e896f522d4ae6f2c3930444f4c6071640cdfc701c5c77940bfc
6
+ metadata.gz: f11bbbfe6131d6ff983cc3b1e4b125ec19fa656e137a24ceb17e69ad7892a586a26b25158c203e249bebd75d4d2cfd8a9a8f3b524c499e694da2e2d637263c6a
7
+ data.tar.gz: f2a7a2a063bb266788924004a9c3728f234cdd76f476ac9c8831ca28790b645e17714ea19de836db8319d2240d2e9dcb9c6b22901b41d7993b9bf289d304de39
data/README.md ADDED
File without changes
@@ -1,11 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Grammer
4
+ ##
4
5
  # Handles Ig Requests
5
6
  class IgService
6
7
  include HTTParty
7
8
  base_uri 'https://www.instagram.com'
8
9
 
10
+ ##
11
+ # Requests Instagram node information with a given username.
9
12
  def node(username)
10
13
  page = self.class.get("/#{username}")
11
14
  json = Nokogiri.parse(page)
@@ -1,13 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Adds class macros to top level module
4
3
  module Grammer
5
- def self.included(klass)
6
- klass.extend(Macros)
7
- end
8
-
4
+ ##
5
+ # = Macros
9
6
  # Defines class macros
10
7
  module Macros
8
+ ##
9
+ # Gets constant value or sets it if it haven't been defined before.
11
10
  def get_or_set_const(module_name)
12
11
  if const_defined?(module_name)
13
12
  const_get(module_name)
@@ -16,6 +15,8 @@ module Grammer
16
15
  end
17
16
  end
18
17
 
18
+ ##
19
+ # Defines methods on singleton modules in order to handle macros
19
20
  def define_module_method(mod, method_name, opts)
20
21
  mod.class_eval do
21
22
  target_attribute = opts[:on]
@@ -31,17 +32,13 @@ module Grammer
31
32
  end
32
33
  end
33
34
 
35
+ ##
36
+ # Main initializing class macro for the module.
37
+ # Defines a Node instance on the given name.
34
38
  def grammed_by(method_name, opts = {})
35
39
  mod = get_or_set_const(:"GammerMod#{object_id}")
36
40
  define_module_method(mod, method_name, opts)
37
41
  prepend mod
38
42
  end
39
-
40
- def grammed_by_class_method(*methods)
41
- singleton_class.class_eval do
42
- include Grammer
43
- grammed_by(*methods)
44
- end
45
- end
46
43
  end
47
44
  end
data/lib/grammer/node.rb CHANGED
@@ -1,19 +1,33 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Grammer
4
- # Represents Instagram nodes (Users)
4
+ ##
5
+ # = Node
6
+ # Represents Instagram nodes (accounts)
5
7
  class Node
6
- attr_reader :data, :service
8
+ ##
9
+ # General Instagram hash of data from the node
10
+ attr_reader :data
7
11
 
12
+ ##
13
+ # Service used for requesting instagram info
14
+ attr_reader :service
15
+
16
+ ##
17
+ # Creates a new instagram node defined by its username.
8
18
  def initialize(username, attr = {})
9
19
  @service = attr[:service] || IgService.new
10
20
  @data = service.node(username)
11
21
  end
12
22
 
23
+ ##
24
+ # Helper for displaying node's biography
13
25
  def biography
14
26
  @data.dig('biography')
15
27
  end
16
28
 
29
+ ##
30
+ # Helper for displaying node's followers count
17
31
  def followers_count
18
32
  @data.dig('edge_followed_by', 'count')
19
33
  end
@@ -1,10 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Grammer
4
+ ##
5
+ # = Version
4
6
  # Describes version for gemspec
5
7
  module VERSION
6
8
  MAJOR = 0
7
- MINOR = 1
9
+ MINOR = 2
8
10
  PATCH = 1
9
11
  BUILD = 'edge'
10
12
 
data/lib/grammer.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ ##
3
4
  # Main Module
4
5
  module Grammer
5
6
  require 'httparty'
@@ -8,4 +9,10 @@ module Grammer
8
9
  require 'grammer/ig_service'
9
10
  require 'grammer/macros'
10
11
  require 'grammer/node'
12
+
13
+ ##
14
+ # Extends class macros to main module
15
+ def self.included(klass)
16
+ klass.extend(Macros)
17
+ end
11
18
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grammer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1.edge
4
+ version: 0.2.1.edge
5
5
  platform: ruby
6
6
  authors:
7
7
  - Caio Andrade
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-02 00:00:00.000000000 Z
11
+ date: 2019-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -64,6 +64,20 @@ dependencies:
64
64
  - - "~>"
65
65
  - !ruby/object:Gem::Version
66
66
  version: '3.6'
67
+ - !ruby/object:Gem::Dependency
68
+ name: rdoc
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '6.1'
74
+ type: :development
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '6.1'
67
81
  - !ruby/object:Gem::Dependency
68
82
  name: reek
69
83
  requirement: !ruby/object:Gem::Requirement
@@ -124,8 +138,10 @@ description: Provides a simple way to connect objects to the info on a Instagram
124
138
  email: caioertai@gmail.com
125
139
  executables: []
126
140
  extensions: []
127
- extra_rdoc_files: []
141
+ extra_rdoc_files:
142
+ - README.md
128
143
  files:
144
+ - README.md
129
145
  - lib/grammer.rb
130
146
  - lib/grammer/ig_service.rb
131
147
  - lib/grammer/macros.rb
@@ -136,7 +152,10 @@ licenses:
136
152
  - MIT
137
153
  metadata: {}
138
154
  post_install_message:
139
- rdoc_options: []
155
+ rdoc_options:
156
+ - lib/
157
+ - "--exclude"
158
+ - lib/grammer/version.rb
140
159
  require_paths:
141
160
  - lib
142
161
  required_ruby_version: !ruby/object:Gem::Requirement