telasi-ruby 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.
- data/.gitignore +5 -0
- data/.project +11 -0
- data/.rspec +1 -0
- data/Gemfile +4 -0
- data/README.md +3 -0
- data/Rakefile +1 -0
- data/config/database.yml +7 -0
- data/lib/telasi-ruby.rb +6 -0
- data/lib/telasi-ruby/converter.rb +78 -0
- data/lib/telasi-ruby/ext/active_record.rb +17 -0
- data/lib/telasi-ruby/model.rb +92 -0
- data/lib/telasi-ruby/version.rb +7 -0
- data/spec/spec_helper.rb +35 -0
- data/spec/telasi-ruby/model_spec.rb +81 -0
- data/telasi-ruby.gemspec +30 -0
- metadata +149 -0
data/.gitignore
ADDED
data/.project
ADDED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/Gemfile
ADDED
data/README.md
ADDED
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/config/database.yml
ADDED
data/lib/telasi-ruby.rb
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
|
3
|
+
module Telasi
|
4
|
+
module SAP
|
5
|
+
|
6
|
+
# თელასის საიდენტიფიკაციო ნომერი.
|
7
|
+
TELASI_TIN = '202052580'
|
8
|
+
|
9
|
+
# თელასის ოფიციალური დასახელება.
|
10
|
+
TELASI_NAME = 'ს.ს. თელასი'
|
11
|
+
|
12
|
+
# თელასის გადამხდელის ID.
|
13
|
+
TELASI_ID = 1000
|
14
|
+
|
15
|
+
# აკონვერტებს მოცემული მასალის დოკუმენტს ზედნადების ფორმატში.
|
16
|
+
# მიღებული ზედნადების კლასი შესაძლოა ატვირთულ იქნას
|
17
|
+
# rs.ge ვებ-საიტზე.
|
18
|
+
def self.material_doc_to_waybill(doc)
|
19
|
+
waybill = RS::Waybill.new
|
20
|
+
|
21
|
+
not_auto = nil
|
22
|
+
#with_auto = nil
|
23
|
+
doc.items.each do |item|
|
24
|
+
not_auto = item and break unless item.auto?
|
25
|
+
#with_auto = item if item.auto?
|
26
|
+
#break if not_auto and with_auto
|
27
|
+
end
|
28
|
+
|
29
|
+
# operation type
|
30
|
+
case not_auto.ebeln[0..1]
|
31
|
+
when '45' #
|
32
|
+
waybill.type = doc.driver_info ? RS::WaybillType::TRANSPORTATION : RS::WaybillType::WITHOUT_TRANSPORTATION
|
33
|
+
when '49' # შიდა გადაზიდვა
|
34
|
+
waybill.type = RS::WaybillType::INNER
|
35
|
+
waybill.seller_id = TELASI_ID
|
36
|
+
waybill.seller_tin = TELASI_TIN
|
37
|
+
waybill.seller_name = TELASI_NAME
|
38
|
+
waybill.check_buyer_tin = true
|
39
|
+
waybill.buyer_tin = TELASI_TIN
|
40
|
+
waybill.buyer_name = TELASI_NAME
|
41
|
+
else
|
42
|
+
#raise RuntimeError.new("not supported: #{ebeln}")
|
43
|
+
end
|
44
|
+
|
45
|
+
if doc.driver_info
|
46
|
+
waybill.car_number = doc.driver_info.vehicle
|
47
|
+
waybill.transport_type_id = RS::TransportType::VEHICLE
|
48
|
+
waybill.driver_name = doc.driver_info.driver
|
49
|
+
waybill.driver_tin = doc.driver_info.drperno
|
50
|
+
waybill.check_driver_tin = true
|
51
|
+
end
|
52
|
+
|
53
|
+
# start/end address
|
54
|
+
if not_auto
|
55
|
+
address1 = not_auto.warehouse_address
|
56
|
+
address2 = not_auto.invoice_address
|
57
|
+
waybill.start_address = address1.address.to_s if address1
|
58
|
+
waybill.end_address = address2.address.to_s if address2
|
59
|
+
end
|
60
|
+
|
61
|
+
# items
|
62
|
+
items = []
|
63
|
+
doc.items.each do |doc_item|
|
64
|
+
item = RS::WaybillItem.new
|
65
|
+
item.bar_code = doc_item.matnr.match(/[1-9][0-9]*/)[0]
|
66
|
+
item.prod_name = doc_item.material_name_ka.maktx
|
67
|
+
item.unit_id = RS::WaybillUnit::OTHERS
|
68
|
+
item.unit_name = doc_item.meins
|
69
|
+
item.quantity = doc_item.menge
|
70
|
+
item.price = doc_item.dmbtr / item.quantity
|
71
|
+
items << item
|
72
|
+
end
|
73
|
+
waybill.items = items
|
74
|
+
|
75
|
+
waybill
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
|
3
|
+
module ActiveRecord
|
4
|
+
class Base
|
5
|
+
def self.date_fields(*fields)
|
6
|
+
fields.each do |field|
|
7
|
+
define_method("#{field}_date") do
|
8
|
+
date = send field.to_s
|
9
|
+
Date.strptime(date, '%Y%m%d') if date
|
10
|
+
end
|
11
|
+
define_method("#{field}_date=") do |value|
|
12
|
+
send( "#{field}=", value.strftime('%Y%m%d') ) if value
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
|
3
|
+
require 'active_record'
|
4
|
+
require 'composite_primary_keys'
|
5
|
+
|
6
|
+
module Telasi
|
7
|
+
|
8
|
+
# Module containint SAP models and operations.
|
9
|
+
module SAP
|
10
|
+
|
11
|
+
# ქართული ენის კონსტანტა.
|
12
|
+
LANG_KA = '뱁'
|
13
|
+
|
14
|
+
SCHEMA = 'SAPSR3'
|
15
|
+
|
16
|
+
# Base class for SAP database.
|
17
|
+
class Base < ActiveRecord::Base
|
18
|
+
self.abstract_class = true
|
19
|
+
end
|
20
|
+
|
21
|
+
# MKPF table.
|
22
|
+
class MaterialDocumentHeader < Base
|
23
|
+
self.table_name = "#{SCHEMA}.MKPF"
|
24
|
+
self.primary_keys = [:mandt, :mblnr, :mjahr]
|
25
|
+
has_many :items, :class_name => 'Telasi::SAP::MaterialItem', :foreign_key => [:mandt, :mblnr, :mjahr]
|
26
|
+
has_one :driver_info, :foreign_key => [:mandt, :mblnr, :mjahr]
|
27
|
+
self.date_fields :bldat, :budat
|
28
|
+
end
|
29
|
+
|
30
|
+
# MSEG table.
|
31
|
+
class MaterialItem < Base
|
32
|
+
self.table_name = "#{SCHEMA}.MSEG"
|
33
|
+
self.primary_keys = [:mandt, :mblnr, :mjahr, :zeile]
|
34
|
+
#has_one :material_name_ka, :class_name => 'Telasi::SAP::MaterialText', :foreign_key => [:mandt, :matnr], :conditions => ['SPRAS = ?', LANG_KA]
|
35
|
+
|
36
|
+
def material_name_ka
|
37
|
+
MaterialText.where(:mandt => self.mandt, :matnr => self.matnr, :spras => LANG_KA).first
|
38
|
+
end
|
39
|
+
|
40
|
+
# საწყობის მისამართი (გასვლა).
|
41
|
+
def warehouse_address
|
42
|
+
WarehouseAddress.where(:werks => self.werks, :lgort => self.lgort).first
|
43
|
+
end
|
44
|
+
|
45
|
+
# შესყიდვის მისამართი (დანიშნულება).
|
46
|
+
def invoice_address
|
47
|
+
item = InvoiceItem.where(:ebeln => self.ebeln).first
|
48
|
+
WarehouseAddress.where(:werks => item.werks, :lgort => item.lgort).first if item
|
49
|
+
end
|
50
|
+
|
51
|
+
# არის თუ არა ეს პოზიცია დაგენერირებული ავტომატურად?
|
52
|
+
def auto?
|
53
|
+
self.xauto.upcase == 'X'
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
# EKPO table.
|
58
|
+
class InvoiceItem < Base
|
59
|
+
self.table_name = "#{SCHEMA}.EKPO"
|
60
|
+
self.primary_keys = [:mandt, :ebeln, :ebelp]
|
61
|
+
end
|
62
|
+
|
63
|
+
# TWLAD table.
|
64
|
+
class WarehouseAddress < Base
|
65
|
+
self.table_name = "#{SCHEMA}.TWLAD"
|
66
|
+
self.primary_keys = [:mandt, :werks, :lgort, :lfdnr]
|
67
|
+
belongs_to :address, :foreign_key => :adrnr, :conditions => ['LANGU = ?', LANG_KA]
|
68
|
+
end
|
69
|
+
|
70
|
+
# ADRC table.
|
71
|
+
class Address < Base
|
72
|
+
self.table_name = "#{SCHEMA}.ADRC"
|
73
|
+
self.primary_keys = :addrnumber
|
74
|
+
def to_s
|
75
|
+
[self.city1, self.street].compact.join(' ').strip
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
# ZMIGOHEADERADD table.
|
80
|
+
class DriverInfo < Base
|
81
|
+
self.table_name = "#{SCHEMA}.ZMIGOHEADERADD"
|
82
|
+
self.primary_keys = [:mandt, :mblnr, :mjahr]
|
83
|
+
end
|
84
|
+
|
85
|
+
# MAKT table.
|
86
|
+
class MaterialText < Base
|
87
|
+
self.table_name = "#{SCHEMA}.MAKT"
|
88
|
+
self.primary_keys = [:mandt, :matnr, :spras]
|
89
|
+
end
|
90
|
+
|
91
|
+
end
|
92
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
|
3
|
+
# SimpleCov
|
4
|
+
|
5
|
+
require 'simplecov'
|
6
|
+
|
7
|
+
SimpleCov.start do
|
8
|
+
add_filter '/spec/'
|
9
|
+
end
|
10
|
+
|
11
|
+
# RSpec
|
12
|
+
|
13
|
+
require 'rspec'
|
14
|
+
|
15
|
+
RSpec.configure do |config|
|
16
|
+
config.include(RSpec::Matchers)
|
17
|
+
config.backtrace_clean_patterns = [
|
18
|
+
/\/lib\d*\/ruby\//,
|
19
|
+
/bin\//,
|
20
|
+
#/gems/,
|
21
|
+
/spec\/spec_helper\.rb/,
|
22
|
+
/lib\/rspec\/(core|expectations|matchers|mocks)/
|
23
|
+
]
|
24
|
+
end
|
25
|
+
|
26
|
+
ENV['NLS_LANG'] = 'AMERICAN_AMERICA.UTF8'
|
27
|
+
|
28
|
+
require 'active_record'
|
29
|
+
require 'telasi-ruby'
|
30
|
+
|
31
|
+
MANDT = '150'
|
32
|
+
|
33
|
+
ActiveRecord::Base.configurations = YAML::load(IO.read('config/database.yml'))
|
34
|
+
ActiveRecord::Base.establish_connection :sap
|
35
|
+
#Telasi::SAP::Base.establish_connection :sap
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require 'rs'
|
5
|
+
|
6
|
+
describe 'material document without driver' do
|
7
|
+
before(:all) do
|
8
|
+
@doc = Telasi::SAP::MaterialDocumentHeader.find(MANDT, '5000000058', 2011)
|
9
|
+
end
|
10
|
+
subject { @doc }
|
11
|
+
it { should_not be_nil }
|
12
|
+
its(:mandt) { should == MANDT }
|
13
|
+
its(:mblnr) { should == '5000000058' }
|
14
|
+
its(:items) { should_not be_empty }
|
15
|
+
its(:bldat_date) { should be_instance_of Date }
|
16
|
+
its(:budat_date) { should be_instance_of Date }
|
17
|
+
context 'convert into RS waybill' do
|
18
|
+
before(:all) do
|
19
|
+
@waybill = Telasi::SAP.material_doc_to_waybill(@doc)
|
20
|
+
end
|
21
|
+
subject { @waybill }
|
22
|
+
it { should_not be_nil }
|
23
|
+
it { should be_instance_of RS::Waybill }
|
24
|
+
its(:type) { should == RS::WaybillType::INNER }
|
25
|
+
its(:seller_id) { should == Telasi::SAP::TELASI_ID }
|
26
|
+
its(:seller_name) { should == Telasi::SAP::TELASI_NAME }
|
27
|
+
its(:seller_tin) { should == Telasi::SAP::TELASI_TIN }
|
28
|
+
its(:buyer_name) { should == Telasi::SAP::TELASI_NAME }
|
29
|
+
its(:buyer_tin) { should == Telasi::SAP::TELASI_TIN }
|
30
|
+
its(:check_buyer_tin) { should == true }
|
31
|
+
its(:start_address) { should == 'ვანის ქ.#3' }
|
32
|
+
its(:end_address) { should == 'ვანის ქ.#3' }
|
33
|
+
context "items" do
|
34
|
+
subject { @waybill.items }
|
35
|
+
it { should_not be_nil }
|
36
|
+
it { should_not be_empty }
|
37
|
+
its(:size) { should == @waybill.items.size }
|
38
|
+
context "first item" do
|
39
|
+
subject { @waybill.items.first }
|
40
|
+
its(:prod_name) { should == 'მაერთებელი განშტოების P2X-95' }
|
41
|
+
its(:quantity) { should == 50 }
|
42
|
+
its(:unit_id) { should == RS::WaybillUnit::OTHERS }
|
43
|
+
its(:bar_code) { should == '100002658' }
|
44
|
+
its(:unit_name) { should == 'ST' }
|
45
|
+
its(:price) { should == 0 }
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe 'material document without driver' do
|
52
|
+
before(:all) do
|
53
|
+
@doc = Telasi::SAP::MaterialDocumentHeader.find(MANDT, '4900042419', 2011)
|
54
|
+
end
|
55
|
+
subject { @doc }
|
56
|
+
it { should_not be_nil }
|
57
|
+
its(:mandt) { should == MANDT }
|
58
|
+
its(:mblnr) { should == '4900042419' }
|
59
|
+
context 'convert into RS waybill' do
|
60
|
+
before(:all) do
|
61
|
+
@waybill = Telasi::SAP.material_doc_to_waybill(@doc)
|
62
|
+
RS.print_waybill(@waybill, '/home/dimitri/Desktop/waybill.pdf')
|
63
|
+
end
|
64
|
+
subject { @waybill }
|
65
|
+
it { should_not be_nil }
|
66
|
+
its(:type) { should == RS::WaybillType::INNER }
|
67
|
+
its(:car_number) { should_not be_empty }
|
68
|
+
its(:transport_type_id) { should == RS::TransportType::VEHICLE }
|
69
|
+
its(:driver_tin) { should == '36001024775' }
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe Telasi::SAP::MaterialItem do
|
74
|
+
before(:all) do
|
75
|
+
@item = Telasi::SAP::MaterialItem.find(MANDT, '5000000058', 2011, 1)
|
76
|
+
end
|
77
|
+
subject { @item }
|
78
|
+
it { should_not be_nil }
|
79
|
+
its(:mandt) { should == MANDT }
|
80
|
+
its(:mblnr) { should == '5000000058' }
|
81
|
+
end
|
data/telasi-ruby.gemspec
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "telasi-ruby/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "telasi-ruby"
|
7
|
+
s.version = Telasi::Ruby::VERSION
|
8
|
+
s.authors = ["Dimitri Kurashvili"]
|
9
|
+
s.email = ["dimitri@c12.ge"]
|
10
|
+
s.homepage = ""
|
11
|
+
s.summary = %q{telasi ruby library}
|
12
|
+
s.description = %q{telasi ruby library}
|
13
|
+
|
14
|
+
s.rubyforge_project = "telasi-ruby"
|
15
|
+
|
16
|
+
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
|
21
|
+
s.add_development_dependency 'rspec', '~> 2'
|
22
|
+
s.add_development_dependency 'simplecov'
|
23
|
+
|
24
|
+
s.add_runtime_dependency 'composite_primary_keys', '~> 5'
|
25
|
+
s.add_runtime_dependency 'c12-commons', '~> 0.0.2'
|
26
|
+
s.add_runtime_dependency 'rs.ge', '~>0.0.7'
|
27
|
+
s.add_runtime_dependency 'activerecord', '~> 3.2.2'
|
28
|
+
s.add_runtime_dependency 'activerecord-oracle_enhanced-adapter', '~> 1.4.0'
|
29
|
+
s.add_runtime_dependency 'ruby-oci8', '~> 2.1.0'
|
30
|
+
end
|
metadata
ADDED
@@ -0,0 +1,149 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: telasi-ruby
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Dimitri Kurashvili
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-03-09 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rspec
|
16
|
+
requirement: &82524230 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '2'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *82524230
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: simplecov
|
27
|
+
requirement: &82524030 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *82524030
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: composite_primary_keys
|
38
|
+
requirement: &82523760 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ~>
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '5'
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *82523760
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: c12-commons
|
49
|
+
requirement: &82523510 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.0.2
|
55
|
+
type: :runtime
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *82523510
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: rs.ge
|
60
|
+
requirement: &82523280 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ~>
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 0.0.7
|
66
|
+
type: :runtime
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *82523280
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: activerecord
|
71
|
+
requirement: &82523050 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ~>
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 3.2.2
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *82523050
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: activerecord-oracle_enhanced-adapter
|
82
|
+
requirement: &82522820 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ~>
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: 1.4.0
|
88
|
+
type: :runtime
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *82522820
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: ruby-oci8
|
93
|
+
requirement: &82522590 !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
95
|
+
requirements:
|
96
|
+
- - ~>
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 2.1.0
|
99
|
+
type: :runtime
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: *82522590
|
102
|
+
description: telasi ruby library
|
103
|
+
email:
|
104
|
+
- dimitri@c12.ge
|
105
|
+
executables: []
|
106
|
+
extensions: []
|
107
|
+
extra_rdoc_files: []
|
108
|
+
files:
|
109
|
+
- .gitignore
|
110
|
+
- .project
|
111
|
+
- .rspec
|
112
|
+
- Gemfile
|
113
|
+
- README.md
|
114
|
+
- Rakefile
|
115
|
+
- config/database.yml
|
116
|
+
- lib/telasi-ruby.rb
|
117
|
+
- lib/telasi-ruby/converter.rb
|
118
|
+
- lib/telasi-ruby/ext/active_record.rb
|
119
|
+
- lib/telasi-ruby/model.rb
|
120
|
+
- lib/telasi-ruby/version.rb
|
121
|
+
- spec/spec_helper.rb
|
122
|
+
- spec/telasi-ruby/model_spec.rb
|
123
|
+
- telasi-ruby.gemspec
|
124
|
+
homepage: ''
|
125
|
+
licenses: []
|
126
|
+
post_install_message:
|
127
|
+
rdoc_options: []
|
128
|
+
require_paths:
|
129
|
+
- lib
|
130
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
131
|
+
none: false
|
132
|
+
requirements:
|
133
|
+
- - ! '>='
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '0'
|
136
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
requirements: []
|
143
|
+
rubyforge_project: telasi-ruby
|
144
|
+
rubygems_version: 1.8.13
|
145
|
+
signing_key:
|
146
|
+
specification_version: 3
|
147
|
+
summary: telasi ruby library
|
148
|
+
test_files: []
|
149
|
+
has_rdoc:
|