social_rails 3.2.0 → 3.3.0

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: 444cea1bd3846f4af0fc720f6e9d690865319a89
4
- data.tar.gz: 87b2f88fc56eafbfcd70c451b0daffba912b017b
3
+ metadata.gz: 22fd6874e0d38d4c4380ce718741ee84c2c6f110
4
+ data.tar.gz: 571c06a9d05d13b2601719ba260e3a8e36a358a4
5
5
  SHA512:
6
- metadata.gz: d9d9d2172f6dc1bb7244045f7ceea809edefd42569bf399e5de22ed5c0ce3175ecaaf18f28c71ef688b8d9c3e2430785503fe684e518204ce8abe24698455222
7
- data.tar.gz: b17f34feda500852ee1f25e8730e8a545a37d65dd208b0ba3f20add6bfea75510ed5d6dc345b019c72338561f7d0718f3123ee73f5a539d597128edd2a23eee9
6
+ metadata.gz: 1061f7fe504630d83f30bd375e23dd95f8bac0c30b7350983160cc6ab42c1f74372bf81ce9b3e682be7cc4bd5f3358a7bd87433a79a87f306b9b65d074c4d179
7
+ data.tar.gz: 5276b47d0c692bb0df24d73bdd2a5f96ab63f5befec7ff01058800a892c21b818bc3e298d165ea64c83e09d80671b68f98a2330eddfc6093b527dbfda5c746b5
@@ -25,3 +25,11 @@ SocialRails::API::Twitter.configure do |config|
25
25
  #config.access_token_secret = ""
26
26
  #config.twitter_name = ""
27
27
  end
28
+
29
+ DetectLanguage.configure do |config|
30
+ # https://detectlanguage.com/
31
+ config.api_key = "YOUR API KEY"
32
+
33
+ # enable secure mode (SSL) if you are passing sensitive data
34
+ # config.secure = true
35
+ end
data/lib/social_rails.rb CHANGED
@@ -15,6 +15,7 @@ module SocialRails
15
15
  end
16
16
 
17
17
  require 'social_rails/cache'
18
+ require 'social_rails/language'
18
19
  require 'social_rails/apis/base'
19
20
  require 'social_rails/apis/facebook'
20
21
  require 'social_rails/apis/instagram'
@@ -4,6 +4,7 @@ module SocialRails
4
4
  class Base
5
5
 
6
6
  include Cache
7
+ include Language
7
8
 
8
9
  class << self
9
10
  attr_accessor :uid
@@ -32,7 +32,10 @@ module SocialRails
32
32
  items = []
33
33
  while items.count < self.config.public[:post_count] || feed.size == 0
34
34
  feed.each do |item|
35
- items.push(item) if item.has_key?("message")
35
+ next unless item.has_key?("message")
36
+ next unless lang_is_detected?(item["message"])
37
+
38
+ items.push(item)
36
39
  return items if items.count == self.config.public[:post_count]
37
40
  end
38
41
  feed = feed.next_page
@@ -27,8 +27,11 @@ module SocialRails
27
27
  access_token_secret: self.config.access_token_secret
28
28
  })
29
29
 
30
- latest_tweets = client.user_timeline(self.config.twitter_name, { exclude_replies: true, include_rts: false }).first(self.config.public[:post_count])
31
- tweets = latest_tweets.map{ |t| client.oembed(t.id, {lang: 'fr'}) }
30
+ latest_tweets = client.user_timeline(self.config.twitter_name, { exclude_replies: true, include_rts: false, count: 20 })
31
+
32
+ latest_tweets.select!{ |t| languages.include? t.lang } if localized?
33
+
34
+ latest_tweets.map!{ |t| client.oembed(t.id, {lang: default_lang}) }
32
35
  end
33
36
 
34
37
  end
@@ -0,0 +1,36 @@
1
+ require 'detect_language'
2
+
3
+ module SocialRails
4
+ module Language
5
+
6
+ def self.included base
7
+ base.extend LanguageMethods
8
+ end
9
+
10
+ module LanguageMethods
11
+
12
+ def localized?
13
+ return self.config.public.has_key?(:lang) && self.config.public[:lang].is_a?(Array)
14
+ end
15
+
16
+ def languages
17
+ return self.config.public[:lang]
18
+ end
19
+
20
+ def default_lang
21
+ self.config.public[:lang] ? self.config.public[:lang].first : 'fr'
22
+ end
23
+
24
+ def lang_is_detected? text
25
+ return true unless localized?
26
+ DetectLanguage.detect(text).each do |result|
27
+ return true if self.config.public[:lang].include? result["language"]
28
+ end
29
+ return false
30
+ end
31
+
32
+ private
33
+
34
+ end
35
+ end
36
+ end
@@ -1,3 +1,3 @@
1
1
  module SocialRails
2
- VERSION = '3.2.0'
2
+ VERSION = '3.3.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: social_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francis G
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-22 00:00:00.000000000 Z
11
+ date: 2019-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,14 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '4.0'
19
+ version: '4'
20
+ - - "~>"
21
+ - !ruby/object:Gem::Version
22
+ version: '5.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: '4.0'
29
+ version: '4'
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: koala
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -72,6 +78,20 @@ dependencies:
72
78
  - - "~>"
73
79
  - !ruby/object:Gem::Version
74
80
  version: '6.0'
81
+ - !ruby/object:Gem::Dependency
82
+ name: detect_language
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '1.1'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '1.1'
75
95
  description: Includes a configurable cache to keep your app from tipping over api
76
96
  limits.
77
97
  email:
@@ -117,6 +137,7 @@ files:
117
137
  - lib/social_rails/helpers/instagram.rb
118
138
  - lib/social_rails/helpers/tag.rb
119
139
  - lib/social_rails/helpers/twitter.rb
140
+ - lib/social_rails/language.rb
120
141
  - lib/social_rails/version.rb
121
142
  homepage: https://github.com/ixmedia/social_rails
122
143
  licenses: