rails-rail-in 0.0.3 → 1.0.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: 9be7bcc798e3ecb598de3733fb68ec2ed902a6ab
4
- data.tar.gz: 191133bbf5e3fe538c8e437d39bc003964c78e6b
3
+ metadata.gz: 1ccdc54e9be2408e55cc03ae35f15403941c05c6
4
+ data.tar.gz: e4ae841e603b31be7a4506ede9ff7be630417eec
5
5
  SHA512:
6
- metadata.gz: 670fb33878a91e18570b29468fff43d650fcabd490ca0cc8de80ba1b13e3d3b3f8c7fdaedb5da9ff619210bde3229b3da74b8ad9cdbf16440e84e865a80e3a52
7
- data.tar.gz: 253d1a2efb799e9991b66cfdf455bb845ee73688463bf58c98a51537eec3fb880bdcfe29b240646b2dc004381fb7694a1055fb030cf134721e1fba38ca093501
6
+ metadata.gz: 78043d1bcb275762c164a3d4d8574dd049d8427b3b18144c5578e896ab57ea301c87fea2ded75acc154e6b6574d26bf46daffd251ca34a09a48f0d6db97f69de
7
+ data.tar.gz: bb1c46a2252ad33171318d6082987775fc5b4b4a80cf5c8f328e5e64ae2417c036ea99e7219a3eb5194571b6686200d0e54df969487673bdb14d0c01ba277e74
data/README.md CHANGED
@@ -1,27 +1,89 @@
1
1
  # Rails::Rail::In
2
2
 
3
- Indian Railways Trains, PNR Status, Features to come IRCTC Availability, Running Status, Map, Arrival Departure, Route, Fare Check...
3
+ rails-rail-in is to find an Indian Railways Info like Train Lists, Station Lists, Routes, Fare, PNR Status, Seat Availabilities and more.
4
4
 
5
5
  ## Installation
6
6
 
7
- Add this line to your application's Gemfile:
7
+ To install using Bundler grab the latest stable version:
8
8
 
9
9
  ```ruby
10
- gem 'rails-rail-in'
10
+ gem 'rails-rail-in', '~> 1.0.0'
11
11
  ```
12
12
 
13
- And then execute:
13
+ To manually install rails-rail-in via Rubygems simply gem install:
14
14
 
15
- $ bundle
15
+ $ gem install rails-rail-in
16
16
 
17
- Or install it yourself as:
17
+ ## API Key
18
18
 
19
- $ gem install rails-rail-in
19
+ To get an API key go to: http://api.erail.in/#api_key and send a email request to eRail Team.
20
20
 
21
21
  ## Usage
22
22
 
23
- var1 = Rails::Rail::In.pnr_status(your_pnr_number)
24
- # You will get JSON response
23
+ ```ruby
24
+ rail_in = RailIn.new(eRailKey)
25
+ ```
26
+ ### Stations List
27
+
28
+ Get the result of all the stations with their station code, name, latitude and longitude.
29
+
30
+ ```json
31
+
32
+ rail_in.stations
33
+
34
+ output:
35
+ -------
36
+ {
37
+ "status" : "OK",
38
+ "result" : [
39
+ {
40
+ "code" : "NDLS",
41
+ "name" : "New Delhi"
42
+ },
43
+ {
44
+ "code" : "BCT",
45
+ "name" : "Mumbai Central"
46
+ },
47
+ ....
48
+ ]
49
+ }
50
+ ```
51
+
52
+ ### PNR Status
53
+
54
+ Get details of given PNR number.
55
+
56
+ ```json
57
+
58
+ rail_in.pnr_status(pnr_number)
59
+
60
+ output:
61
+ -------
62
+ {
63
+ "status" : "OK",
64
+ "result" : {
65
+ "pnr" : "6533543051",
66
+ "eticket" : true,
67
+ "journey" : "09-Sep-2014",
68
+ "trainno" : "12898",
69
+ "name" : "BBS PDY EXPRESS",
70
+ "from" : "VZM",
71
+ "to" : "MS",
72
+ "brdg" : "VZM",
73
+ "passengers" :
74
+ [
75
+ {
76
+ "bookingstatus" : "RAC 14GNWL",
77
+ "currentstatus" : "B3 14",
78
+ "coach" : ""
79
+ },
80
+ ....
81
+ ],
82
+ "chart" : "CHART PREPARED",
83
+ "error" : ""
84
+ }
85
+ }
86
+ ```
25
87
 
26
88
  ## Contributing
27
89
 
data/Rakefile CHANGED
@@ -1,2 +1,11 @@
1
1
  require "bundler/gem_tasks"
2
2
 
3
+ require 'rake/testtask'
4
+
5
+ Rake::TestTask.new do |t|
6
+ t.libs << 'test'
7
+ end
8
+
9
+ desc "Run tests"
10
+ task :default => :test
11
+
@@ -0,0 +1,3 @@
1
+ require 'rails-rail-in'
2
+ puts "a = RailIn.new"
3
+ puts "a.pnr_status(YOUR PNR Number)"
@@ -0,0 +1,2 @@
1
+ require "rails-rail-in/rail_in"
2
+ require "rails-rail-in/request"
@@ -0,0 +1,67 @@
1
+ #module Rails
2
+ class RailIn
3
+ attr_accessor :erail_key
4
+
5
+ def initialize(erail_key, options = {})
6
+ puts "options: #{options}"
7
+ puts "erail_key: #{erail_key}"
8
+ @erail_key = erail_key
9
+ end
10
+
11
+ def stations
12
+ url = "#{base_url}/stations/?key=#{erail_key}"
13
+ Request.query url
14
+ end
15
+
16
+ def trains(from, to, options = {})
17
+ puts "erail_key: #{erail_key}"
18
+ date = options[:date]
19
+ class_code = options[:class_code]
20
+ url = "#{base_url}/trains/?key=#{erail_key}&stnfrom=#{from}&stnto=#{to}&date=#{date}&class=#{class_code}"
21
+ Request.query url
22
+ end
23
+
24
+ def route(train_no)
25
+ url = "#{base_url}/route/?key=#{erail_key}&trainno=#{train_no}"
26
+ Request.query url
27
+ end
28
+
29
+ def full_route(train_no)
30
+ url = "#{base_url}/fullroute/?key=#{erail_key}&trainno=#{train_no}"
31
+ Request.query url
32
+ end
33
+
34
+ def fare(train_no, from, to, age, quota, run_date, options = {})
35
+ class_code = options[:class_code]
36
+ url = "#{base_url}/fare/?key=#{erail_key}&trainno=#{train_no}&stnfrom=#{from}&stnto=#{to}&age=#{age}&quota=#{quota}&class=#{class_code}&date=#{run_date}"
37
+ Request.query url
38
+ end
39
+
40
+ def pnr_status(pnr_no)
41
+ url = "#{base_url}/pnr?key=#{erail_key}&pnr=#{pnr_no}"
42
+ Request.query url
43
+ end
44
+
45
+ def live_status(train_no, from, run_date)
46
+ url = "#{base_url}/live/?key=#{erail_key}&trainno=#{train_no}&stnfrom=#{from}&date=#{run_date}"
47
+ Request.query url
48
+ end
49
+
50
+ def seat_availability(train_no, from, to, quota, class_code, run_date)
51
+ url = "#{base_url}/seats/?key=#{erail_key}&trainno=#{train_no}&stnfrom=#{from}&stnto=#{to}&quota=#{quota}&class=#{class_code}&date=#{run_date}"
52
+ Request.query url
53
+ end
54
+
55
+ def train_at_station(from, to, hour)
56
+ url = "#{base_url}/trainsatstation/?key=#{erail_key}&stnfrom=#{from}&stnto=#{to}&hr=#{hour}"
57
+ Request.query url
58
+ end
59
+
60
+ def base_url
61
+ "http://api.erail.in"
62
+ end
63
+ # "fd3ebf59-3ed8-424f-a99d-5cfad4337d94"
64
+
65
+ end
66
+ #end
67
+
@@ -0,0 +1,9 @@
1
+ require 'rest_client'
2
+ require 'json'
3
+ class Request
4
+
5
+ def self.query(url)
6
+ JSON.parse RestClient.get url
7
+ end
8
+
9
+ end
Binary file
@@ -1,23 +1,28 @@
1
- # coding: utf-8
2
1
  lib = File.expand_path('../lib', __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'rails/rail/in/version'
5
3
 
6
4
  Gem::Specification.new do |spec|
7
5
  spec.name = "rails-rail-in"
8
- spec.version = Rails::Rail::In::VERSION
6
+ spec.version = "1.0.0"
7
+ spec.date = "2014-12-14"
9
8
  spec.authors = ["psaravanan11"]
10
9
  spec.email = ["psaravanan11@gmail.com"]
11
10
  spec.summary = %q{Indian Railways Trains, PNR Status}
12
11
  spec.description = %q{Indian Railways Trains, PNR Status, Features to come IRCTC Availability, Running Status, Map, Arrival Departure, Route, Fare Check...}
13
- spec.homepage = ""
12
+ spec.homepage = "https://github.com/psaravanan/rails-rail-in"
14
13
  spec.license = "MIT"
15
- spec.rubyforge_project = "rest_client"
14
+
16
15
  spec.files = `git ls-files -z`.split("\x0")
17
16
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
18
  spec.require_paths = ["lib"]
20
19
 
20
+ spec.metadata = { "issue_tracker" => "http://www.psaravanan.in" }
21
+ spec.post_install_message = "Thanks for installing! by Saravanan P"
22
+ spec.requirements << 'rest_client, ~> 1.6'
23
+
21
24
  spec.add_development_dependency "bundler", "~> 1.7"
22
25
  spec.add_development_dependency "rake", "~> 10.0"
26
+
27
+ spec.add_runtime_dependency "rest_client", "~> 1.6"
23
28
  end
@@ -0,0 +1,9 @@
1
+ require 'minitest/autorun'
2
+ require 'rails-rail-in'
3
+
4
+ class RailInTest < Minitest::Test
5
+ def test_base_url
6
+ assert_equal "http://api.erail.in/",
7
+ RailIn.new.base_url
8
+ end
9
+ end
metadata CHANGED
@@ -1,83 +1,104 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-rail-in
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - psaravanan11
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-08 00:00:00.000000000 Z
11
+ date: 2014-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
- requirement: !ruby/object:Gem::Requirement
15
+ version_requirements: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.7'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
20
+ requirement: !ruby/object:Gem::Requirement
23
21
  requirements:
24
- - - "~>"
22
+ - - ~>
25
23
  - !ruby/object:Gem::Version
26
24
  version: '1.7'
25
+ prerelease: false
26
+ type: :development
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
29
34
  requirement: !ruby/object:Gem::Requirement
30
35
  requirements:
31
- - - "~>"
36
+ - - ~>
32
37
  - !ruby/object:Gem::Version
33
38
  version: '10.0'
34
- type: :development
35
39
  prerelease: false
40
+ type: :development
41
+ - !ruby/object:Gem::Dependency
42
+ name: rest_client
36
43
  version_requirements: !ruby/object:Gem::Requirement
37
44
  requirements:
38
- - - "~>"
45
+ - - ~>
39
46
  - !ruby/object:Gem::Version
40
- version: '10.0'
41
- description: Indian Railways Trains, PNR Status, Features to come IRCTC Availability,
42
- Running Status, Map, Arrival Departure, Route, Fare Check...
47
+ version: '1.6'
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ~>
51
+ - !ruby/object:Gem::Version
52
+ version: '1.6'
53
+ prerelease: false
54
+ type: :runtime
55
+ description: Indian Railways Trains, PNR Status, Features to come IRCTC Availability, Running Status, Map, Arrival Departure, Route, Fare Check...
43
56
  email:
44
57
  - psaravanan11@gmail.com
45
- executables: []
58
+ executables:
59
+ - sample
46
60
  extensions: []
47
61
  extra_rdoc_files: []
48
62
  files:
49
- - ".gitignore"
63
+ - .gitignore
50
64
  - Gemfile
51
65
  - LICENSE.txt
52
66
  - README.md
53
67
  - Rakefile
54
- - lib/rails/rail/in.rb
55
- - lib/rails/rail/in/version.rb
68
+ - bin/sample
69
+ - lib/rails-rail-in.rb
70
+ - lib/rails-rail-in/rail_in.rb
71
+ - lib/rails-rail-in/request.rb
56
72
  - rails-rail-in-0.0.1.gem
57
73
  - rails-rail-in-0.0.2.gem
74
+ - rails-rail-in-0.0.3.gem
58
75
  - rails-rail-in.gemspec
59
- homepage: ''
76
+ - test/test_rail_in.rb
77
+ homepage: https://github.com/psaravanan/rails-rail-in
60
78
  licenses:
61
79
  - MIT
62
- metadata: {}
63
- post_install_message:
80
+ metadata:
81
+ issue_tracker: http://www.psaravanan.in
82
+ post_install_message: Thanks for installing! by Saravanan P
64
83
  rdoc_options: []
65
84
  require_paths:
66
85
  - lib
67
86
  required_ruby_version: !ruby/object:Gem::Requirement
68
87
  requirements:
69
- - - ">="
88
+ - - '>='
70
89
  - !ruby/object:Gem::Version
71
90
  version: '0'
72
91
  required_rubygems_version: !ruby/object:Gem::Requirement
73
92
  requirements:
74
- - - ">="
93
+ - - '>='
75
94
  - !ruby/object:Gem::Version
76
95
  version: '0'
77
- requirements: []
78
- rubyforge_project: rest_client
79
- rubygems_version: 2.4.4
80
- signing_key:
96
+ requirements:
97
+ - rest_client, ~> 1.6
98
+ rubyforge_project:
99
+ rubygems_version: 2.1.9
100
+ signing_key:
81
101
  specification_version: 4
82
102
  summary: Indian Railways Trains, PNR Status
83
- test_files: []
103
+ test_files:
104
+ - test/test_rail_in.rb
@@ -1,16 +0,0 @@
1
- require "rails/rail/in/version"
2
- require 'rest_client'
3
-
4
- module Rails
5
- module Rail
6
- module In
7
- def self.pnr_status(pnr_no)
8
- RestClient.get "http://api.erail.in/pnr?key=fd3ebf59-3ed8-424f-a99d-5cfad4337d94&pnr=#{pnr_no}"
9
- end
10
-
11
- def self.base_url
12
- "http://api.erail.in/"
13
- end
14
- end
15
- end
16
- end
@@ -1,7 +0,0 @@
1
- module Rails
2
- module Rail
3
- module In
4
- VERSION = "0.0.3"
5
- end
6
- end
7
- end