codec_fast_sms 0.1.0 → 0.1.6

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
  SHA256:
3
- metadata.gz: fee74c51b4b78963c7c059abc8c2e4cecc586ae57c50ee9473569faa888649c3
4
- data.tar.gz: abd5a1e4a5e04ae432926b913bf3dbad235ab10c08b55ed581270d3880291e4b
3
+ metadata.gz: a3052087544bb565c03c91892c0cb5267002aa93eef5a7a874331dee381015ad
4
+ data.tar.gz: 7264fa017d9f089e3f706eecee93cef0f0a2e91f393e26fc965acd759a1954f2
5
5
  SHA512:
6
- metadata.gz: be1fb5ccd3a310fc1eab86863dc9e12c8c4614b5e7eb8d8f0c6b996fe094b08f38a33b23495b56f4ab60dadedd96c5d283369e6e219a036a44c75b438e76b435
7
- data.tar.gz: fd0e213ac6bf2cae091e841cfa73d7e6fdbb599ab25e2367b569e0dcfe4d2192eb21811091e581f38a78a831466307e9558965de82e2c1915bcfa713ac1b6301
6
+ metadata.gz: aa8b9c747723bbf83c45b09dfac355586a8227f9f78a60160fc00292f9d7e84ffa6e0f6f3da0a1211bb90adf59d3b2deacbfab10067dada5ffb66a6ac752d275
7
+ data.tar.gz: cdc74afe4270e383a4c5e70e5f6f4c6717f588a41b55116108ca80f24fe52103784e01865768bfb07ecca9fb43829b7b3fa374e618969f23564d856316b81666
data/README.md CHANGED
@@ -67,6 +67,29 @@ client.deliver(phone, message)
67
67
  puts client.response
68
68
  ```
69
69
 
70
+ Use attributes to set permission parameters:
71
+ ```ruby
72
+ attributes = { optionalParameters: '{ DisablePermissionFilter: true }' }
73
+ client = CodecFastSms::Client.new(attributes: attributes)
74
+ ```
75
+
76
+ Use attributes to set IYS parameters:
77
+
78
+ `iys_message_type`: must take the value `TICARI` or `BILGILENDIRME`. In case the value is not given, it takes `BILGILENDIRME` value by default.
79
+
80
+ `iys_brand_code`: If `iys_message_type` is set as `TICARI`, it must be filled.
81
+
82
+ `iys_recipient_type`: If `iys_message_type` is set as `TICARI`, it must be filled.
83
+ ```ruby
84
+ attributes = {
85
+ optionalParameters: '{ DisablePermissionFilter: true }',
86
+ iys_message_type: 'TICARI'
87
+ iys_brand_code: 'BC1'
88
+ iys_recipient_type: 'RT1'
89
+ }
90
+ client = CodecFastSms::Client.new(attributes: attributes)
91
+ ```
92
+
70
93
  We can pass the profile argument on client initialization to use different configuration.
71
94
  ```ruby
72
95
  client = CodecFastSms::Client.new(profile: :dynamic_settings)
@@ -5,16 +5,25 @@ module CodecFastSms
5
5
  class Client < Core
6
6
  # Api endpoint.
7
7
  def request_uri
8
- '/FastApi.asmx/SendSms'
8
+ '/Soap.asmx/SendSms'
9
9
  end
10
10
 
11
11
  def params
12
12
  {
13
- userName: ::CodecFastSms.configuration(profile).username,
14
- password: ::CodecFastSms.configuration(profile).password,
15
- sender: ::CodecFastSms.configuration(profile).sender,
13
+ userName: current_config.username,
14
+ password: current_config.password,
15
+ sender: current_config.sender,
16
16
  phone: to, messageContent: message, msgSpecialId: '', isOtn: 'True',
17
- headerCode: '', responseType: '3', optionalParameters: ''
17
+ headerCode: '', responseType: '3',
18
+ optionalParameters: generate_optional_parameters
19
+ }.merge(iys_params)
20
+ end
21
+
22
+ def iys_params
23
+ {
24
+ iysMessageType: (attributes[:iys_message_type] || 'BILGILENDIRME'),
25
+ iysRecipientType: attributes[:iys_recipient_type].to_s,
26
+ iysBrandCode: attributes[:iys_brand_code].to_s
18
27
  }
19
28
  end
20
29
 
@@ -27,5 +36,12 @@ module CodecFastSms
27
36
  assign_recipient_information(to, message)
28
37
  perform
29
38
  end
39
+
40
+ def generate_optional_parameters
41
+ attr = attributes[:optionalParameters]
42
+ return attr.to_json if attr.is_a?(Hash) && !attr.empty?
43
+
44
+ attr.to_s
45
+ end
30
46
  end
31
47
  end
@@ -3,9 +3,10 @@
3
3
  module CodecFastSms
4
4
  # Core
5
5
  class Core
6
- attr_accessor :connection, :profile, :response, :to, :message
7
- def initialize(profile: :default)
6
+ attr_accessor :connection, :profile, :response, :to, :message, :attributes
7
+ def initialize(profile: :default, attributes: {})
8
8
  self.profile = profile
9
+ self.attributes = attributes
9
10
  # Firstly, create a connection object.
10
11
  self.connection = Faraday.new(
11
12
  url: ::CodecFastSms.configuration(profile).api_host
@@ -26,5 +27,10 @@ module CodecFastSms
26
27
  end
27
28
 
28
29
  def params; end
30
+
31
+ # Get the configuration by profile
32
+ def current_config
33
+ ::CodecFastSms.configuration(profile)
34
+ end
29
35
  end
30
36
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CodecFastSms
4
- VERSION = '0.1.0'
4
+ VERSION = '0.1.6'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codec_fast_sms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sertan Gülveren
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-30 00:00:00.000000000 Z
11
+ date: 2021-03-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -120,7 +120,7 @@ licenses: []
120
120
  metadata:
121
121
  homepage_uri: https://github.com/sertangulveren/codec_fast_sms
122
122
  source_code_uri: https://github.com/sertangulveren/codec_fast_sms
123
- post_install_message:
123
+ post_install_message:
124
124
  rdoc_options: []
125
125
  require_paths:
126
126
  - lib
@@ -135,8 +135,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
135
  - !ruby/object:Gem::Version
136
136
  version: '0'
137
137
  requirements: []
138
- rubygems_version: 3.1.2
139
- signing_key:
138
+ rubygems_version: 3.0.8
139
+ signing_key:
140
140
  specification_version: 4
141
141
  summary: Codec FastSMS Library for Ruby.
142
142
  test_files: []