textme 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/textme.rb +46 -20
  3. metadata +1 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bf540be0c1e85dfd63bd87b6b44f16ace7ac2340
4
- data.tar.gz: f585ca7178ca87c0859d6b305b339b03b84a2045
3
+ metadata.gz: ceb46c088e7d48f7a65d5f9be0888bcf2dac4b1f
4
+ data.tar.gz: 467c1782393669d14d8dc5542b199e008a77f374
5
5
  SHA512:
6
- metadata.gz: 2d56f2c541be52aa562e189c5f371bb4f21cb9a61ae67ed6ac55f0ff0898556f85e445020307f0d049b8f692a7c059403a7c35743fdbbb796fde29db9fff26d4
7
- data.tar.gz: c677200317a85d1934ec7b9242b0de1dddbbc8314e66504eeabcd68bc9fecfea6d31a820071ef054b7cd28b808976905287d9125e562735255e56f9105bcad1f
6
+ metadata.gz: c7dbba1ff905f01ffd18f96ed41bd59ca050d6a99e1a175bfc59120183fcfb9ae96dc4816312712380adfa7ce4a8e20241637dd2600a8ad2dfe7b481e6a0a2ce
7
+ data.tar.gz: de93c27169b8a12a2256913ee709abbf8e73695370cf156d6748b4a42766c42c2912bebe4bfda2ca3d12adadc990eccb94a2513958c83a23e1831b52fd272c14
data/lib/textme.rb CHANGED
@@ -1,50 +1,76 @@
1
- require 'httparty'
2
- require 'twilio-ruby'
3
- require 'json'
4
- require 'metainspector'
1
+ #
2
+ #Initialize once with the credentials
3
+ #Keep texting 'send_message' method to the number entered in the argument
4
+ #
5
+
6
+ require 'twilio-ruby' #The Twilio gem
7
+ require 'metainspector' #Gem to help extract the open graph data
5
8
 
6
9
  module TextMe
7
10
  class Core
11
+ #Constructor
12
+ #What: Initialize Twilio with credentials and save the from number
13
+ #Input: account_sid, auth_token => From twilio dashbaord
14
+ # 'from' number => from your twilio settings
15
+ #Output: No output
8
16
  def initialize(account_sid, auth_token, sender_number)
17
+ #Initialize the twilio client
9
18
  @client = Twilio::REST::Client.new account_sid, auth_token
19
+
20
+ #Save the 'from' number as private variable
10
21
  @sender_number = sender_number
11
22
  end
12
23
 
24
+ #Helper Method
25
+ #What: Take a youversion url and return the verse and the verse image from the open graph data
26
+ #Input: You version url of the verse
27
+ #Output: A hash with the (always) 'verse' => (verse name + verse text),
28
+ # (optional) 'image_url' => image verse
13
29
  def meta_extractor(url)
30
+ #Use a Hash to store the verse and image url
14
31
  metadata = Hash.new
32
+
15
33
  page = MetaInspector.new(url)
16
- metadata['name'] = page.meta['og:title']
34
+
35
+ #Get the verse name and the verse
36
+ metadata['verse'] = page.meta['og:title']
37
+
38
+ #If the page contains an opengraph image
17
39
  if page.meta['og:image']
18
- metadata['image_url'] = page.meta['og:image']
40
+ if page.meta['og:image'].include? "http"
41
+ metadata['image_url'] = page.meta['og:image']
42
+ end
19
43
  end
44
+
20
45
  return metadata
21
46
  end
22
47
 
48
+ #What: Take the recievers number and the verse url. Calls the meta_extractor helper method
49
+ #Input: 'To' number, You version url of the verse
50
+ #Output: No actual output. Send's a text containing verse name(always), verse text(always) and verse image(optional) to the 'To' number
23
51
  def send_message(reciever_number, url)
24
- verse = meta_extractor(url)
25
- if verse['image_url']
52
+ #A call to the meta_extractor to get the verse name, verse text and verse image(optional)
53
+ verse_data = meta_extractor(url)
54
+
55
+ #If: There is a verse image for the verse
56
+ #Else: There is no image
57
+ if verse_data['image_url']
58
+ #Sending a text with the twilio client
26
59
  @client.api.account.messages.create(
27
60
  from: @sender_number,
28
61
  to: reciever_number,
29
- body: verse['name'],
30
- media_url: verse['image_url']
62
+ body: verse_data['verse'],
63
+ media_url: verse_data['image_url']
31
64
  )
32
65
  else
66
+ #Sending a text with the twilio client
33
67
  @client.api.account.messages.create(
34
68
  from: @sender_number,
35
69
  to: reciever_number,
36
- body: verse['name']
70
+ body: verse_data['verse']
37
71
  )
38
72
 
39
73
  end
40
74
  end
41
75
  end
42
- end
43
-
44
- #page = MetaInspector.new('https://www.bible.com/bible/2PE.3.9.nlt')
45
- #puts page.meta['og:title']
46
- #puts page.meta['og:image']
47
-
48
- #twil = TextMe::Core.new('ACa9011dd6fa6cabf225303edd1bdb71be', 'a426a2ba3deca28af4f6b17a91aacb5f', '+16197730346')
49
- #twil.send_message('+14696551861', 'Hello')
50
- #twil.send_message('+14696551861', 'https://www.bible.com/bible/2PE.3.9.nlt')
76
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: textme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harsh Gosar
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 5.7.1
27
- - !ruby/object:Gem::Dependency
28
- name: httparty
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: metainspector
43
29
  requirement: !ruby/object:Gem::Requirement