instagram_user 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dcd1fb801da58a3fa43d84feca7a3bcd5b4d0b713ccd5f2c1bb0899a1d5589be
4
- data.tar.gz: 25b98881499d8f7d85ed72bc7f5bff8f410cf9eb53c031f5dc1b7bc9aa24fea2
3
+ metadata.gz: 98097b96666004c41115ff4cc58e524d53d4f853f006c4bb3bafc29ff11814ef
4
+ data.tar.gz: 032d757f8c4e5af72719c18f22f7cc866a8117e16bfef5650c7144eb0d6632b8
5
5
  SHA512:
6
- metadata.gz: 91c9dbe134413dc9fcc0a151e75de90bd0cc35bade7410cee8573b03131ae0a27f3926c5c0e373269fcefb29ed97a60352f6e3504ab52d93d9b78042ced6c9bd
7
- data.tar.gz: 98e037164f0b8b8ba691b48562d0772343cd3b351226d85a275169aa71829c9982b71049535d93569b7282b90be2dfd7bb0618f9d471bb819e8065180d9b2d07
6
+ metadata.gz: f1bc2c73b89ba027a02613f3a68f3fa9f64127683ac79a582083f3bc93ed114fd2a7bae667b02b44beac4e7cdbd08dd14d0e1e0820a7c71118b908707abf3744
7
+ data.tar.gz: 388155aa42ec3fb769ebd9f5c5aa5fc4d4caaf4ad02aebd1747aa8aa2d571da3de6d6004705e7c39c6fbb7c2a2124490c30a077d8c764f74b9bad94af16c7681
@@ -9,10 +9,4 @@ rvm:
9
9
  - 2.5.0
10
10
  before_install:
11
11
  - gem install bundler -v 1.15.4
12
- - sudo apt-get update
13
- - sudo apt-get install chromium-chromedriver
14
- before_script:
15
- - "export PATH=$PATH:/usr/lib/chromium-browser/"
16
- - "export DISPLAY=:99.0"
17
- - "sh -e /etc/init.d/xvfb start"
18
- - sleep 3 # give xvfb some time to start
12
+ - sudo apt-get update
data/Rakefile CHANGED
@@ -1,15 +1,12 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'rspec/core/rake_task'
3
3
  require 'coveralls/rake/task'
4
- require 'rubocop/rake_task'
5
4
 
6
5
  RSpec::Core::RakeTask.new(:rspec) do |spec|
7
6
  spec.pattern = 'spec/**/*_spec.rb'
8
7
  spec.rspec_opts = ['-cfd --backtrace']
9
8
  end
10
9
 
11
- RuboCop::RakeTask.new(:style)
12
-
13
10
  Coveralls::RakeTask.new
14
11
 
15
12
  task :default => ["rspec", "style"]
@@ -33,10 +33,11 @@ Gem::Specification.new do |spec|
33
33
  spec.add_dependency 'selenium-webdriver'
34
34
  spec.add_development_dependency "bundler", "~> 1.15"
35
35
  spec.add_development_dependency "rake"
36
+ spec.add_development_dependency 'pry'
36
37
  spec.add_development_dependency "guard-rspec"
37
- spec.add_development_dependency "pry-byebug"
38
38
  spec.add_development_dependency "guard"
39
- spec.add_development_dependency 'rubocop'
39
+ spec.add_development_dependency "terminal-notifier"
40
+ spec.add_development_dependency "terminal-notifier-guard"
40
41
  spec.add_development_dependency 'coveralls'
41
- spec.add_development_dependency 'simplecov'
42
+ spec.add_development_dependency 'ffi', '1.9.18'
42
43
  end
@@ -34,7 +34,7 @@ module InstagramUser
34
34
  @session = Mechanize.new
35
35
  @user_ids = {}
36
36
  logined_session
37
- selenium_setting
37
+ selenium_setting unless options[:selenium] == false
38
38
  end
39
39
 
40
40
  def get_follows(user_name)
@@ -48,55 +48,41 @@ module InstagramUser
48
48
  end
49
49
 
50
50
  def create_follow(user_name)
51
- @driver.get "https://www.instagram.com/#{user_name}"
52
- begin
53
- @wait.until { !@driver.find_elements(:xpath, '//article//button').empty? }
54
- rescue => e
55
- return false
56
- end
51
+ color = get_follow_btn_color(user_name)
57
52
 
58
- color = @driver.find_element(:xpath, '//article//button').css_value("color")
59
- return false if color != "rgba(255, 255, 255, 1)"
53
+ return false if color == false || color != "rgba(255, 255, 255, 1)"
60
54
 
61
55
  @driver.find_element(:xpath, '//article//button').click
62
56
  sleep(2)
63
57
 
64
- @driver.get "https://www.instagram.com/#{user_name}"
65
- @wait.until { !@driver.find_elements(:xpath, '//article//button').empty? }
66
- color = @driver.find_element(:xpath, '//article//button').css_value("color")
67
- (color == "rgba(255, 255, 255, 1)") ? false : true
58
+ color = get_follow_btn_color(user_name)
59
+ (color == false || color == "rgba(255, 255, 255, 1)") ? false : true
68
60
  end
69
61
 
70
62
  def delete_follow(user_name)
71
- @driver.get "https://www.instagram.com/#{user_name}"
72
- begin
73
- @wait.until { !@driver.find_elements(:xpath, '//article//button').empty? }
74
- rescue => e
75
- return false
76
- end
63
+ color = get_follow_btn_color(user_name)
77
64
 
78
- color = @driver.find_element(:xpath, '//article//button').css_value("color")
79
- return false if color == "rgba(255, 255, 255, 1)"
65
+ return false if color == false || color == "rgba(255, 255, 255, 1)"
80
66
 
81
67
  @driver.find_element(:xpath, '//article//button').click
82
68
  sleep(2)
83
69
 
84
- @driver.get "https://www.instagram.com/#{user_name}"
85
- @wait.until { !@driver.find_elements(:xpath, '//article//button').empty? }
86
- color = @driver.find_element(:xpath, '//article//button').css_value("color")
87
- (color != "rgba(255, 255, 255, 1)") ? false : true
70
+ color = get_follow_btn_color(user_name)
71
+ (color == false || color != "rgba(255, 255, 255, 1)") ? false : true
88
72
  end
89
73
 
90
- def get_cookies_d
91
- @driver.manage.all_cookies
92
- end
74
+ private
93
75
 
94
- def get_cookies_s
95
- @session.cookie_jar.cookies
76
+ def get_follow_btn_color(user_name)
77
+ @driver.get "https://www.instagram.com/#{user_name}"
78
+ begin
79
+ @wait.until { !@driver.find_elements(:xpath, '//article//button').empty? }
80
+ rescue => e
81
+ return false
82
+ end
83
+ @driver.find_element(:xpath, '//article//button').css_value("color")
96
84
  end
97
85
 
98
- private
99
-
100
86
  def selenium_setting
101
87
  options = Selenium::WebDriver::Chrome::Options.new
102
88
  options.add_argument("--user-agent=#{@user_agent}")
@@ -1,3 +1,3 @@
1
1
  module InstagramUser
2
- VERSION = "1.0.0".freeze
2
+ VERSION = "1.0.1".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: instagram_user
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuzuru Suzuki
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: guard-rspec
70
+ name: pry
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: pry-byebug
84
+ name: guard-rspec
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -109,7 +109,7 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: rubocop
112
+ name: terminal-notifier
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
@@ -123,7 +123,7 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: coveralls
126
+ name: terminal-notifier-guard
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
@@ -137,7 +137,7 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: simplecov
140
+ name: coveralls
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - ">="
@@ -150,6 +150,20 @@ dependencies:
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: ffi
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '='
158
+ - !ruby/object:Gem::Version
159
+ version: 1.9.18
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '='
165
+ - !ruby/object:Gem::Version
166
+ version: 1.9.18
153
167
  description: Client for the Instagram Web Service without Instagram API. Implemented
154
168
  in Ruby using the Selenium and Mechanize module.
155
169
  email:
@@ -158,11 +172,8 @@ executables: []
158
172
  extensions: []
159
173
  extra_rdoc_files: []
160
174
  files:
161
- - ".coveralls.yml"
162
175
  - ".gitignore"
163
176
  - ".rspec"
164
- - ".rubocop.yml"
165
- - ".rubocop_todo.yml"
166
177
  - ".travis.yml"
167
178
  - CODE_OF_CONDUCT.md
168
179
  - Gemfile
@@ -1,2 +0,0 @@
1
- service_name: travis-ci
2
- repo_token: NNw89hx1lshdkrnkvBTOo3oI3LlZ8pkDB
@@ -1,15 +0,0 @@
1
- inherit_from: .rubocop_todo.yml
2
-
3
- Metrics/AbcSize:
4
- Enabled: false
5
- # "Missing top-level class documentation comment."を無効
6
- Style/Documentation:
7
- Enabled: false
8
-
9
- # "Prefer single-quoted strings when you don't need string interpolation or special symbols."を無効
10
- Style/StringLiterals:
11
- Enabled: false
12
-
13
- # "Line is too long"を無効
14
- Metrics/LineLength:
15
- Enabled: false
@@ -1,131 +0,0 @@
1
- # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2018-01-29 23:22:25 +0900 using RuboCop version 0.52.1.
4
- # The point is for the user to remove these configuration records
5
- # one by one as the offenses are removed from the code base.
6
- # Note that changes in the inspected code, or installation of new
7
- # versions of RuboCop, may require this file to be generated again.
8
-
9
- # Offense count: 3
10
- # Cop supports --auto-correct.
11
- # Configuration parameters: Include, TreatCommentsAsGroupSeparators.
12
- # Include: **/*.gemspec
13
- Gemspec/OrderedDependencies:
14
- Exclude:
15
- - 'instagram_user.gemspec'
16
-
17
- # Offense count: 1
18
- # Cop supports --auto-correct.
19
- Layout/EmptyLineAfterMagicComment:
20
- Exclude:
21
- - 'instagram_user.gemspec'
22
-
23
- # Offense count: 1
24
- # Cop supports --auto-correct.
25
- # Configuration parameters: EnforcedStyle.
26
- # SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines
27
- Layout/EmptyLinesAroundClassBody:
28
- Exclude:
29
- - 'lib/instagram_user/client.rb'
30
-
31
- # Offense count: 1
32
- # Cop supports --auto-correct.
33
- # Configuration parameters: EnforcedStyle, IndentationWidth.
34
- # SupportedStyles: special_inside_parentheses, consistent, align_braces
35
- Layout/IndentHash:
36
- Exclude:
37
- - 'lib/instagram_user/client.rb'
38
-
39
- # Offense count: 1
40
- # Cop supports --auto-correct.
41
- # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
42
- # SupportedStyles: space, no_space
43
- # SupportedStylesForEmptyBraces: space, no_space
44
- Layout/SpaceBeforeBlockBraces:
45
- Exclude:
46
- - 'lib/instagram_user/client.rb'
47
-
48
- # Offense count: 1
49
- # Cop supports --auto-correct.
50
- # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
51
- # SupportedStyles: space, no_space
52
- # SupportedStylesForEmptyBraces: space, no_space
53
- Layout/SpaceInsideBlockBraces:
54
- Exclude:
55
- - 'Gemfile'
56
-
57
- # Offense count: 3
58
- # Cop supports --auto-correct.
59
- # Configuration parameters: EnforcedStyle.
60
- # SupportedStyles: final_newline, final_blank_line
61
- Layout/TrailingBlankLines:
62
- Exclude:
63
- - 'Rakefile'
64
- - 'lib/instagram_user/client.rb'
65
- - 'spec/instagram_user_spec.rb'
66
-
67
- # Offense count: 1
68
- Metrics/CyclomaticComplexity:
69
- Max: 9
70
-
71
- # Offense count: 1
72
- # Configuration parameters: CountComments.
73
- Metrics/MethodLength:
74
- Max: 15
75
-
76
- # Offense count: 1
77
- Metrics/PerceivedComplexity:
78
- Max: 9
79
-
80
- # Offense count: 2
81
- # Cop supports --auto-correct.
82
- Style/Encoding:
83
- Exclude:
84
- - 'instagram_user.gemspec'
85
- - 'lib/instagram_user/client.rb'
86
-
87
- # Offense count: 2
88
- # Configuration parameters: .
89
- # SupportedStyles: annotated, template, unannotated
90
- Style/FormatStringToken:
91
- EnforcedStyle: unannotated
92
-
93
- # Offense count: 2
94
- # Cop supports --auto-correct.
95
- # Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
96
- # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
97
- Style/HashSyntax:
98
- Exclude:
99
- - 'Rakefile'
100
-
101
- # Offense count: 2
102
- # Cop supports --auto-correct.
103
- # Configuration parameters: PreferredDelimiters.
104
- Style/PercentLiteralDelimiters:
105
- Exclude:
106
- - 'instagram_user.gemspec'
107
-
108
- # Offense count: 1
109
- # Cop supports --auto-correct.
110
- Style/RedundantFreeze:
111
- Exclude:
112
- - 'lib/instagram_user/client.rb'
113
-
114
- # Offense count: 2
115
- # Cop supports --auto-correct.
116
- Style/UnneededPercentQ:
117
- Exclude:
118
- - 'instagram_user.gemspec'
119
-
120
- # Offense count: 1
121
- # Cop supports --auto-correct.
122
- # Configuration parameters: MinSize, WordRegex.
123
- # SupportedStyles: percent, brackets
124
- Style/WordArray:
125
- EnforcedStyle: brackets
126
-
127
- # Offense count: 10
128
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
129
- # URISchemes: http, https
130
- Metrics/LineLength:
131
- Max: 157