textme 0.0.7 → 0.0.8

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 +34 -13
  3. metadata +5 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 972843e1cd34d1c608dac777795f3373adc3d393
4
- data.tar.gz: 8df0b6fbdf4388e251c20d4a09bc66b184344e5c
3
+ metadata.gz: 6559af3dd360552edea0f86ecb4986db7be6f6f6
4
+ data.tar.gz: 3ff2d3317bc60232479c6731bda552189ed81cf8
5
5
  SHA512:
6
- metadata.gz: 19003d8af397c29bbfd6374a9a318513c841f0fc8d60748c59beb7ddc4028f44e1062bbcca4386ab7dcd698297c4e45d43b7c8d85cb4bcf5b1e32d4b1d060911
7
- data.tar.gz: 30ea3fd2de0e5576148c2470269da57f5c2663081f80239cac8bff1a3d4b28149e2204e6dead6418a29ab39127bba1e894185d880968ba1c2ac1090c4ee29e2b
6
+ metadata.gz: 488ad0f3f3459736377734390f13d5e99d9e7cf6405928837badced9a2272524fa63a594e25ef10de99618184650dec5674420a8c58fe6c6c42186a29d5e4cf5
7
+ data.tar.gz: 747817b6e92a5253241868b92870b2caee789f64f7f0cadc7abf3c91e57635c867b2a412065e107b6b33034671a027c9e451031b72ef6949a3fa7630ca5fed47
data/lib/textme.rb CHANGED
@@ -2,6 +2,8 @@
2
2
  #Initialize once with the credentials
3
3
  #Keep texting 'send_message' method to the number entered in the argument
4
4
  #
5
+ #Dependencies -> 'twilio-ruby', 'metainspector'
6
+ #
5
7
 
6
8
  require 'twilio-ruby' #The Twilio gem
7
9
  require 'metainspector' #Gem to help extract the open graph data
@@ -11,13 +13,13 @@ module TextMe
11
13
  #Constructor
12
14
  #What: Initialize Twilio with credentials and save the from number
13
15
  #Input: account_sid, auth_token => From twilio dashbaord
14
- # 'from' number => from your twilio settings
16
+ # 'from' number, 'to' number => from your twilio settings
15
17
  #Output: No output
16
18
  def initialize(account_sid, auth_token, sender_number, reciever_number)
17
19
  #Initialize the twilio client
18
20
  @client = Twilio::REST::Client.new account_sid, auth_token
19
21
 
20
- #Save the 'from' number as private variable
22
+ #Save the 'from' and 'to' number as private variable
21
23
  @sender_number = sender_number
22
24
  @reciever_number = reciever_number
23
25
  end
@@ -27,9 +29,9 @@ module TextMe
27
29
  #Input: You version url of the verse
28
30
  #Output: A hash with the (always) 'verse' => (verse name + verse text),
29
31
  # (optional) 'image_url' => image verse
30
- def meta_extractor(name)
32
+ def meta_extractor(verse_name)
31
33
  extractor = TextMe::BibleExtractor.new
32
- url = extractor.verse_url_generator(name)
34
+ url = extractor.verse_url_generator(verse_name)
33
35
  #Use a Hash to store the verse and image url
34
36
  metadata = Hash.new
35
37
 
@@ -77,16 +79,26 @@ module TextMe
77
79
  end
78
80
  end
79
81
 
82
+ #Helper Class to generate the url from a verse name
80
83
  class BibleExtractor
81
- def verse_meta_extractor(verse_name)
82
- bookList =["Genesis", "Exodus", "Leviticus", "Numbers", "Deuteronomy", "Joshua", "Judges", "Ruth", "1 Samuel", "2 Samuel", "1 Kings", "2 Kings", "1 Chronicles", "2 Chronicles", "Ezra", "Nehemiah", "Esther", "Job", "Psalms", "Proverbs", "Ecclesiastes", "Song of Songs", "Isaiah", "Jeremiah", "Lamentations", "Ezekiel", "Daniel", "Hosea", "Joel", "Amos", "Obadiah", "Jonah", "Micah", "Nahum", "Habakkuk", "Zephaniah", "Haggai", "Zechariah", "Malachi", "Matthew", "Mark", "Luke", "John", "Acts", "Romans", "1 Corinthians", "2 Corinthians", "Galatians", "Ephesians", "Philippians", "Colossians", "1 Thessalonians", "2 Thessalonians", "1 Timothy", "2 Timothy", "Titus", "Philemon", "Hebrews", "James", "1 Peter", "2 Peter", "1 John", "2 John", "3 John", "Jude", "Revelation"]
84
+ #Helper Method
85
+ #What: Take in the verse name and return the metadata as a Hash.
86
+ #Input: Verse name, for example 'Proverbs 3:5-6'.
87
+ # Can also accept chapter names eg. 'Romans 3' (not recommended due to the length of the chapters)
88
+ #Output: Returns the book, chapter number and the specfic verse (optional) rfom the verse name
89
+ def self.verse_meta_extractor(verse_name)
90
+ book_list =["Genesis", "Exodus", "Leviticus", "Numbers", "Deuteronomy", "Joshua", "Judges", "Ruth", "1 Samuel", "2 Samuel", "1 Kings", "2 Kings", "1 Chronicles", "2 Chronicles", "Ezra", "Nehemiah", "Esther", "Job", "Psalms", "Proverbs", "Ecclesiastes", "Song of Songs", "Isaiah", "Jeremiah", "Lamentations", "Ezekiel", "Daniel", "Hosea", "Joel", "Amos", "Obadiah", "Jonah", "Micah", "Nahum", "Habakkuk", "Zephaniah", "Haggai", "Zechariah", "Malachi", "Matthew", "Mark", "Luke", "John", "Acts", "Romans", "1 Corinthians", "2 Corinthians", "Galatians", "Ephesians", "Philippians", "Colossians", "1 Thessalonians", "2 Thessalonians", "1 Timothy", "2 Timothy", "Titus", "Philemon", "Hebrews", "James", "1 Peter", "2 Peter", "1 John", "2 John", "3 John", "Jude", "Revelation"]
83
91
  verse_meta = {}
84
- for book in bookList
92
+
93
+ #Loop through the book_list to see which book verse name contains
94
+ for book in book_list
85
95
  if verse_name.downcase.include? book.downcase
86
96
  verse_meta["book"] = book
87
97
 
98
+ #Split the rest of the verse name into list (chapter number + verse number)
88
99
  verse_number = verse_name.split(book)[1].strip
89
100
 
101
+ #To check if the whole chapter is requested or specific verses
90
102
  if verse_number.include? ':'
91
103
  verse_meta['chapter_number'] = verse_number.split(':')[0].strip
92
104
  verse_meta['specific_verse'] = verse_number.split(':')[1].strip
@@ -98,17 +110,27 @@ module TextMe
98
110
  return verse_meta
99
111
  end
100
112
 
101
- def verse_url_generator(name)
102
- verse_meta = verse_meta_extractor(name)
103
- url = 'https://bible.com/bible/59/'
104
- url = url + book_name_formatter(verse_meta['book']) + '/'
105
- url = url + verse_meta["chapter_number"] + '/'
113
+ #What: Is called from the Core class. Gets the verse name and calls verse_meta_extractor.
114
+ # Uses the meta data and book_name_formatter to generate th You Version url
115
+ #Input: Verse name, for example 'Proverbs 3:5-6'.
116
+ # Can also accept chapter names eg. 'Romans 3' (not recommended due to the length of the chapters)
117
+ #Output: You version url of the verse
118
+ def verse_url_generator(verse_name)
119
+ verse_meta = verse_meta_extractor(verse_name)
120
+ url = 'https://bible.com/bible/59/' #base url
121
+ url = url + book_name_formatter(verse_meta['book']) + '/' #book name
122
+ url = url + verse_meta["chapter_number"] + '/' #chapter number
123
+ #add verse number only if not just book name
106
124
  if verse_meta['specific_verse']
107
125
  url = url + verse_meta['specific_verse']
108
126
  end
109
127
  return url
110
128
  end
111
129
 
130
+ #Helper Method
131
+ #What: It is a very long switch statement (order maintained) that transform the bible book name
132
+ #Input: Name of the specific book of the bible - eg. 'Psalms'
133
+ #Output: The You Version url specific book name
112
134
  def book_name_formatter(book_name)
113
135
  transformed_name = nil
114
136
 
@@ -247,6 +269,5 @@ module TextMe
247
269
  transformed_name = "rev"
248
270
  end
249
271
  end
250
-
251
272
  end
252
273
  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.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harsh Gosar
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: metainspector
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 5.4.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 5.4.1
41
41
  description: Text bible verse to a user
42
42
  email: harsh.g1218@gmail.com
43
43
  executables: []