okky_trend 0.0.0 → 0.0.1

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: 7d43f68f8d87cd6982e62ee44f4019d8dd23277a
4
- data.tar.gz: 116d7a3d255317096b9a533f6f9f7d789b17cd68
3
+ metadata.gz: 38073772f23f52077d68db945ba3f5e70308be3e
4
+ data.tar.gz: bb77da8517b8241f44404d91123a011bf18377b5
5
5
  SHA512:
6
- metadata.gz: a135a52407e5bbdb201877a055e45d5fb9476cd5bec62c6df29110cb41a66655ade34589185c8216b19eeaf1d301d6360817f50f4b56e81c063cebf6f9c613e8
7
- data.tar.gz: cdd6b93c00a5344c08c227cc7645e23524c21d70ecd1f333a47be623bbbe717914c6769dfe80cb884a79229ab28f11e4e3c45938e581139152e8850e14a2ea1d
6
+ metadata.gz: ec3ded12e374e963ca3f5e8dd7bdf565baf0ad31c622bdbaa711647e2ec61c4a39ff72b6c9b6a16e9646f58319c59fdbec5d2cfe696a38b89abe1350dfaf926a
7
+ data.tar.gz: 66f6f9eb1261201c69bba916c984085be3695a577fa41c3b3b10c5825d65ac75194c4fc1c4b2c153122e748db6823c9eb30a095705d6c8db52041efd6601d927
data/bin/okky_trend ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'okky_trend'
4
+ OkkyTrend.get
data/lib/okky_trend.rb CHANGED
@@ -1,6 +1,24 @@
1
- class OkkyTrend
2
- def self.hi
3
- puts "Hello world!"
1
+ require 'okky_trend/translator'
2
+ require 'okky_trend/scraper'
3
+ require 'okky_trend/version'
4
+
5
+ # OkkyTrend Main Module
6
+ module OkkyTrend
7
+ # fetches trending article on OKKY.kr
8
+ #
9
+ # Example:
10
+ # >> OkkyTrend.hi("spanish")
11
+ # => hola mundo
12
+ #
13
+ # Arguments:
14
+ # language: (String)
15
+
16
+ def self.hi(language = "english")
17
+ translator = Translator.new(language)
18
+ translator.hi
4
19
  end
5
- end
6
20
 
21
+ def self.get
22
+ Scraper.new.get
23
+ end
24
+ end
@@ -0,0 +1,43 @@
1
+ require "mechanize"
2
+
3
+ module OkkyTrend
4
+ class Scraper
5
+ BASE_HOST = "https://okky.kr"
6
+ BASE_URL = "#{BASE_HOST}/articles/community?query=&sort=id&order=desc"
7
+
8
+ def initialize
9
+ @agent = Mechanize.new
10
+ @agent.user_agent = "okky_trend #{VERSION}"
11
+ end
12
+
13
+ def get
14
+ page = @agent.get(generate_url)
15
+
16
+ contents = page.search(".list-group li").map do |content|
17
+ title = content.search(".list-group-item-heading").text.strip
18
+ # link = content.search(".list-group-item-heading").
19
+ author = content.search("a.nickname").text.strip
20
+ date = content.search("span.timeago").text.strip
21
+
22
+ commentCount = content.search(".list-group-item-summary li:first-child").text.strip
23
+ likeCount = content.search(".list-group-item-summary li:nth-child(2)").text.strip
24
+ readCount = content.search(".list-group-item-summary li:nth-child(3)").text.strip
25
+
26
+ # puts title, author, date
27
+ unless title.empty?
28
+ puts date + " [댓글:#{commentCount.rjust(3," ")},좋아요:#{likeCount.rjust(3," ")},조회:#{readCount.rjust(3," ")}] " + title + " [ " + author + " ]"
29
+ end
30
+
31
+ end
32
+
33
+ # puts page
34
+ end
35
+
36
+ private
37
+
38
+ def generate_url
39
+ BASE_URL
40
+ end
41
+
42
+ end
43
+ end
@@ -0,0 +1,14 @@
1
+ class Translator
2
+ def initialize(language)
3
+ @language = language
4
+ end
5
+
6
+ def hi
7
+ case @language
8
+ when "spanish"
9
+ "hola mundo"
10
+ else
11
+ "hello world"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,3 @@
1
+ module OkkyTrend
2
+ VERSION = "0.0.1"
3
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: okky_trend
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juntai Park
@@ -9,15 +9,41 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2017-06-27 00:00:00.000000000 Z
12
- dependencies: []
13
- description: A simple gem that fetches trending article on OKKY
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: mechanize
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.7'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 2.7.5
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '2.7'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 2.7.5
33
+ description: A simple gem that fetches trending article about developer's life on
34
+ OKKY
14
35
  email:
15
36
  - juntai81@gmail.com
16
- executables: []
37
+ executables:
38
+ - okky_trend
17
39
  extensions: []
18
40
  extra_rdoc_files: []
19
41
  files:
42
+ - bin/okky_trend
20
43
  - lib/okky_trend.rb
44
+ - lib/okky_trend/scraper.rb
45
+ - lib/okky_trend/translator.rb
46
+ - lib/okky_trend/version.rb
21
47
  homepage: http://rubygems.org/gems/okky_trend
22
48
  licenses:
23
49
  - MIT