corepro 0.0.9 → 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.
Files changed (54) hide show
  1. checksums.yaml +5 -13
  2. data/.gitignore +15 -15
  3. data/.idea/.rakeTasks +1 -1
  4. data/.idea/corepro-sdk-ruby.iml +12 -134
  5. data/.idea/modules.xml +1 -3
  6. data/CorePro.gemspec +25 -23
  7. data/Gemfile +14 -14
  8. data/README.md +47 -47
  9. data/Rakefile +2 -2
  10. data/lib/corepro.rb +13 -13
  11. data/lib/corepro/account.rb +47 -6
  12. data/lib/corepro/bank_document.rb +2 -2
  13. data/lib/corepro/card.rb +91 -0
  14. data/lib/corepro/customer.rb +28 -34
  15. data/lib/corepro/customer_beneficiary.rb +4 -15
  16. data/lib/corepro/customer_document.rb +0 -10
  17. data/lib/corepro/external_account.rb +8 -21
  18. data/lib/corepro/models/account_access.rb +25 -0
  19. data/lib/corepro/models/customer_beneficiary_id_only.rb +8 -8
  20. data/lib/corepro/models/model_base.rb +1 -1
  21. data/lib/corepro/models/program_account.rb +20 -0
  22. data/lib/corepro/models/program_checking.rb +36 -36
  23. data/lib/corepro/models/program_e_code.rb +30 -30
  24. data/lib/corepro/models/program_external_account.rb +21 -0
  25. data/lib/corepro/models/program_interest_rate.rb +5 -0
  26. data/lib/corepro/models/program_prepaid.rb +36 -36
  27. data/lib/corepro/models/program_savings.rb +35 -35
  28. data/lib/corepro/program.rb +9 -0
  29. data/lib/corepro/transaction.rb +8 -1
  30. data/lib/corepro/utils/requestor.rb +3 -3
  31. data/lib/corepro/version.rb +4 -4
  32. data/test/a_program_test.rb +12 -0
  33. data/test/aa_customer_test.rb +74 -0
  34. data/test/ab_account_test.rb +44 -0
  35. data/test/ac_external_account_test.rb +39 -0
  36. data/test/ad_customer_beneficiary_test.rb +42 -42
  37. data/test/ae_customer_document_test.rb +15 -15
  38. data/test/af_bankdocument_test.rb +19 -19
  39. data/test/ag_external_account_document_test.rb +17 -17
  40. data/test/ai_statement_test.rb +22 -22
  41. data/test/aj_transfer_test.rb +53 -0
  42. data/test/ak_transaction_test.rb +18 -8
  43. data/test/core_pro_test_base.rb +9 -23
  44. metadata +50 -41
  45. data/.idea/runConfigurations/All_tests_in_corepro_sdk_ruby__corepro_sdk_ruby.xml +0 -34
  46. data/test/aa_customer_nacha_test.rb +0 -63
  47. data/test/aa_customer_prepaid_test.rb +0 -55
  48. data/test/aaa_program_test.rb +0 -11
  49. data/test/ab_account_nacha_test.rb +0 -46
  50. data/test/ab_account_prepaid_test.rb +0 -46
  51. data/test/ac_external_account_nacha_test.rb +0 -6
  52. data/test/ac_external_account_prepaid_test.rb +0 -46
  53. data/test/aj_transfer_nacha_test.rb +0 -6
  54. data/test/aj_transfer_prepaid_test.rb +0 -36
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NTBjMjZkNzczN2UzZDczOTViNzEzNDJjYWFhNTZlMmQwY2Y3YjUwYg==
5
- data.tar.gz: !binary |-
6
- NzA3NmYzNGI2NjYzNzcyNTI1MmQwYWVjZDRiYzg4ZjlhMTNkNGViZA==
2
+ SHA1:
3
+ metadata.gz: aef4f7138ad1c25e2facce9d88f7017aa058597b
4
+ data.tar.gz: 5cb74e44e425cb018921620489179988ae174654
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZWY5ODE3Y2MwNTk3YzFlMDI1ODcwMTI4ODFkNDJlMThlZTE4MmE1ZTA2YzEx
10
- Y2Y3NDNiMDIzYjI4M2MwMjQwMGI2YzlhZmU5ZmYxY2FkY2I2MjhlNjk3NmE0
11
- Mzk1OTY5MzBmNTkyOGFiYzA5NzVmMTdiYWJlZTllMjA5MjlmYjE=
12
- data.tar.gz: !binary |-
13
- YjRmYzZkZTE2NmJjNGMwNTFmMjJkY2M2ZThiZmZkM2I0MDE4OWVlZGNjNTJi
14
- MDA4OTZiM2VjNWJiZDQ1ZTMyZTI1MTYxM2Y0NTc0ZTJlYTA0M2I2MTM0MzY3
15
- Mzg0NTBhOGY5YjUwOGI5YzdiNTA2ZjljNDNjMGY5NTk5NWVkMTg=
6
+ metadata.gz: 3a946fa7870c5dda9e50fea7a78c17d116c6e3d912d6e9d029b265a557293420708213d603ff7d7b20c2d8b0d4f293258702e1c57875d02f1b64c0bfe6c0208a
7
+ data.tar.gz: 430d2f2807090b6cedfc2cb2a7284eda4937f7a90fbc508e3685138b705fb3092797e4dfa5d214bbfc3b822d121c6f7c8b1cf112b94fa38e939dad46dcc7f6ef
data/.gitignore CHANGED
@@ -1,16 +1,16 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
10
- *.bundle
11
- *.so
12
- *.o
13
- *.a
14
- mkmf.log
15
-
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ mkmf.log
15
+
16
16
  config.yml
@@ -4,4 +4,4 @@ You are allowed to:
4
4
  1. Remove rake task
5
5
  2. Add existing rake tasks
6
6
  To add existing rake tasks automatically delete this file and reload the project.
7
- --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build CorePro-0.0.1.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Build and install CorePro-0.0.1.gem into system gems" fullCmd="install" taksId="install" /><RakeTask description="Create tag v0.0.1 and build and push CorePro-0.0.1.gem to Rubygems" fullCmd="release" taksId="release" /></RakeGroup></Settings>
7
+ --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build corepro-0.0.9.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Remove any temporary products" fullCmd="clean" taksId="clean" /><RakeTask description="Remove any generated files" fullCmd="clobber" taksId="clobber" /><RakeTask description="Build and install corepro-0.0.9.gem into system gems" fullCmd="install" taksId="install" /><RakeGroup description="" fullCmd="" taksId="install"><RakeTask description="Build and install corepro-0.0.9.gem into system gems without network access" fullCmd="install:local" taksId="local" /></RakeGroup><RakeTask description="Create tag v0.0.9 and build and push corepro-0.0.9.gem to Rubygems" fullCmd="release[remote]" taksId="release[remote]" /><RakeTask description="" fullCmd="release" taksId="release" /><RakeGroup description="" fullCmd="" taksId="release"><RakeTask description="" fullCmd="release:guard_clean" taksId="guard_clean" /><RakeTask description="" fullCmd="release:rubygem_push" taksId="rubygem_push" /><RakeTask description="" fullCmd="release:source_control_push" taksId="source_control_push" /></RakeGroup></RakeGroup></Settings>
@@ -2,148 +2,26 @@
2
2
  <module type="RUBY_MODULE" version="4">
3
3
  <component name="FacetManager">
4
4
  <facet type="gem" name="Ruby Gem">
5
- <configuration>
6
- <option name="GEM_APP_ROOT_PATH" value="$MODULE_DIR$" />
7
- <option name="GEM_APP_TEST_PATH" value="$MODULE_DIR$/test" />
8
- <option name="GEM_APP_LIB_PATH" value="$MODULE_DIR$/lib" />
9
- </configuration>
5
+ <configuration />
10
6
  </facet>
11
7
  </component>
12
8
  <component name="ModuleRunConfigurationManager">
13
- <configuration default="false" name="All tests in corepro-sdk-ruby: corepro-sdk-ruby" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest">
14
- <predefined_log_file id="RUBY_TESTUNIT" enabled="true" />
15
- <module name="corepro-sdk-ruby" />
16
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
17
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$" />
18
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
19
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
20
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
21
- <envs>
22
- <env name="JRUBY_OPTS" value="-X+O" />
23
- </envs>
24
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
25
- <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
26
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov" />
27
- <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
28
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="$MODULE_DIR$/test" />
29
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
30
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/{*_test,test_*}.rb" />
31
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="" />
32
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="ALL_IN_FOLDER" />
33
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
34
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
35
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
36
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
37
- <RunnerSettings RunnerId="RubyCover" />
38
- <RunnerSettings RunnerId="RubyDebugRunner" />
39
- <RunnerSettings RunnerId="RubyRunner" />
40
- <ConfigurationWrapper RunnerId="RubyCover" />
41
- <ConfigurationWrapper RunnerId="RubyDebugRunner" />
42
- <ConfigurationWrapper RunnerId="RubyRunner" />
43
- <method />
44
- </configuration>
45
- <configuration default="false" name="Run test 'AaaProgramTest': corepro-sdk-ruby" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest" temporary="true">
46
- <predefined_log_file id="RUBY_TESTUNIT" enabled="true" />
47
- <module name="corepro-sdk-ruby" />
48
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
49
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$/test" />
50
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
51
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
52
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
53
- <envs>
54
- <env name="JRUBY_OPTS" value="-X+O" />
55
- </envs>
56
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
57
- <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
58
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov" />
59
- <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
60
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
61
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/test/aaa_program_test.rb" />
62
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
63
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="" />
64
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
65
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
66
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
67
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
68
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
69
- <RunnerSettings RunnerId="RubyDebugRunner" />
70
- <RunnerSettings RunnerId="RubyRunner" />
71
- <ConfigurationWrapper RunnerId="RubyDebugRunner" />
72
- <ConfigurationWrapper RunnerId="RubyRunner" />
73
- <method />
74
- </configuration>
75
- <configuration default="false" name="test_get: corepro-sdk-ruby" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest" temporary="true">
76
- <predefined_log_file id="RUBY_TESTUNIT" enabled="true" />
77
- <module name="corepro-sdk-ruby" />
78
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
79
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$/test" />
80
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
81
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
82
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
83
- <envs>
84
- <env name="JRUBY_OPTS" value="-X+O" />
85
- </envs>
86
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
87
- <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
88
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov" />
89
- <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
90
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
91
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/test/aaa_program_test.rb" />
92
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
93
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="test_get" />
94
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_METHOD" />
95
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
96
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
97
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
98
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
99
- <RunnerSettings RunnerId="RubyRunner" />
100
- <ConfigurationWrapper RunnerId="RubyRunner" />
101
- <method />
102
- </configuration>
103
- <configuration default="false" name="Run test 'aa_customer_prepaid_test': corepro-sdk-ruby" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest" temporary="true">
104
- <predefined_log_file id="RUBY_TESTUNIT" enabled="true" />
105
- <module name="corepro-sdk-ruby" />
106
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
107
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$/test" />
108
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
109
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
110
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
111
- <envs>
112
- <env name="JRUBY_OPTS" value="-X+O" />
113
- </envs>
114
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
115
- <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
116
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov" />
117
- <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
118
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
119
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/test/aa_customer_prepaid_test.rb" />
120
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
121
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="" />
122
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
123
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
124
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
125
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
126
- <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
127
- <RunnerSettings RunnerId="RubyRunner" />
128
- <ConfigurationWrapper RunnerId="RubyRunner" />
129
- <method />
130
- </configuration>
9
+ <shared />
131
10
  </component>
132
11
  <component name="NewModuleRootManager">
133
12
  <content url="file://$MODULE_DIR$">
134
13
  <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
135
14
  </content>
136
- <orderEntry type="inheritedJdk" />
15
+ <orderEntry type="jdk" jdkName="ruby-2.4.1-p111" jdkType="RUBY_SDK" />
137
16
  <orderEntry type="sourceFolder" forTests="false" />
138
- <orderEntry type="library" scope="PROVIDED" name="ansi (v1.4.3, ruby-1.9.3-p484) [gem]" level="application" />
139
- <orderEntry type="library" scope="PROVIDED" name="builder (v3.2.2, ruby-1.9.3-p484) [gem]" level="application" />
140
- <orderEntry type="library" scope="PROVIDED" name="bundler (v1.7.8, ruby-1.9.3-p484) [gem]" level="application" />
141
- <orderEntry type="library" scope="PROVIDED" name="minitest (v5.4.0, ruby-1.9.3-p484) [gem]" level="application" />
142
- <orderEntry type="library" scope="PROVIDED" name="minitest-reporters (v1.0.5, ruby-1.9.3-p484) [gem]" level="application" />
143
- <orderEntry type="library" scope="PROVIDED" name="power_assert (v0.1.3, ruby-1.9.3-p484) [gem]" level="application" />
144
- <orderEntry type="library" scope="PROVIDED" name="rake (v10.4.2, ruby-1.9.3-p484) [gem]" level="application" />
145
- <orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.5.1, ruby-1.9.3-p484) [gem]" level="application" />
146
- <orderEntry type="library" scope="PROVIDED" name="test-unit (v3.0.1, ruby-1.9.3-p484) [gem]" level="application" />
147
- <orderEntry type="library" scope="PROVIDED" name="win32console (v1.3.0, ruby-1.9.3-p484) [gem]" level="application" />
17
+ <orderEntry type="library" scope="PROVIDED" name="ansi (v1.5.0, ruby-2.4.1-p111) [gem]" level="application" />
18
+ <orderEntry type="library" scope="PROVIDED" name="builder (v3.2.3, ruby-2.4.1-p111) [gem]" level="application" />
19
+ <orderEntry type="library" scope="PROVIDED" name="minitest (v5.10.2, ruby-2.4.1-p111) [gem]" level="application" />
20
+ <orderEntry type="library" scope="PROVIDED" name="minitest-reporters (v1.1.14, ruby-2.4.1-p111) [gem]" level="application" />
21
+ <orderEntry type="library" scope="PROVIDED" name="power_assert (v1.0.2, ruby-2.4.1-p111) [gem]" level="application" />
22
+ <orderEntry type="library" scope="PROVIDED" name="rake (v10.5.0, ruby-2.4.1-p111) [gem]" level="application" />
23
+ <orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.8.1, ruby-2.4.1-p111) [gem]" level="application" />
24
+ <orderEntry type="library" scope="PROVIDED" name="test-unit (v3.2.5, ruby-2.4.1-p111) [gem]" level="application" />
25
+ <orderEntry type="library" scope="PROVIDED" name="win32console (v1.3.0, ruby-2.4.1-p111) [gem]" level="application" />
148
26
  </component>
149
27
  </module>
@@ -2,9 +2,7 @@
2
2
  <project version="4">
3
3
  <component name="ProjectModuleManager">
4
4
  <modules>
5
- <module fileurl="file://$PROJECT_DIR$/../DocChecker/.idea/DocChecker.iml" filepath="$PROJECT_DIR$/../DocChecker/.idea/DocChecker.iml" />
6
5
  <module fileurl="file://$PROJECT_DIR$/.idea/corepro-sdk-ruby.iml" filepath="$PROJECT_DIR$/.idea/corepro-sdk-ruby.iml" />
7
6
  </modules>
8
7
  </component>
9
- </project>
10
-
8
+ </project>
@@ -1,23 +1,25 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'corepro/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = 'corepro'
8
- spec.version = CorePro::VERSION
9
- spec.authors = ['devsupport']
10
- spec.email = ['devsupport@socialmoney.com']
11
- spec.summary = %q{A Ruby SDK for consuming the corepro API.}
12
- spec.description = %q{See http://docs.corepro.io for more detail.}
13
- spec.homepage = 'https://github.com/socialmoney/corepro-sdk-ruby'
14
- spec.license = 'MIT'
15
-
16
- spec.files = `git ls-files -z`.split("\x0")
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ["lib"]
20
-
21
- spec.add_development_dependency 'bundler', '~> 1.6'
22
- spec.add_development_dependency 'rake', '~> 10.0'
23
- end
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'corepro/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'corepro'
8
+ spec.version = CorePro::VERSION
9
+ spec.authors = ['devsupport']
10
+ spec.email = ['devsupport@socialmoney.com']
11
+ spec.summary = %q{A Ruby SDK for consuming the CorePro API.}
12
+ spec.description = %q{See https://docs.corepro.io for more detail.}
13
+ spec.homepage = 'https://github.com/socialmoney/corepro-sdk-ruby'
14
+ spec.license = 'MIT'
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+ spec.required_ruby_version = '~> 2.4'
21
+
22
+ spec.add_development_dependency 'bundler', '~> 1.6'
23
+ spec.add_development_dependency 'rake', '~> 10.0'
24
+ spec.add_development_dependency 'test-unit', '~> 3.2'
25
+ end
data/Gemfile CHANGED
@@ -1,15 +1,15 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in corepro.gemspec
4
- gemspec
5
-
6
- # gem 'corepro'
7
-
8
- group :test do
9
- if RUBY_PLATFORM =~ /(win32|w32)/
10
- gem "win32console", '1.3.0'
11
- end
12
- gem "minitest"
13
- gem 'minitest-reporters', '>= 0.5.0'
14
- gem 'test-unit'
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in corepro.gemspec
4
+ gemspec
5
+
6
+ # gem 'corepro'
7
+
8
+ group :test do
9
+ if RUBY_PLATFORM =~ /(win32|w32)/
10
+ gem "win32console", '1.3.0'
11
+ end
12
+ gem "minitest"
13
+ gem 'minitest-reporters', '>= 0.5.0'
14
+ gem 'test-unit'
15
15
  end
data/README.md CHANGED
@@ -1,47 +1,47 @@
1
- # corepro-sdk-ruby
2
-
3
- A Ruby SDK for consuming the CorePro API
4
-
5
- ## Installation
6
-
7
- Add this line to your application's Gemfile:
8
-
9
- ```ruby
10
- gem 'corepro'
11
- ```
12
-
13
- And then execute:
14
-
15
- $ bundle
16
-
17
- Or install it yourself as:
18
-
19
- $ gem install corepro
20
-
21
- ## Usage
22
-
23
- Use this object hierarchy as a simple entry point into CorePro. Details of the CorePro API itself are available at
24
- https://docs.corepro.io/api. To see all available SDKs, visit https://docs.corepro.io/sdk.
25
-
26
- ```ruby
27
- require 'corepro'
28
-
29
- # create a connection
30
- # (typical use case is to pull connection info from config.yml, this is for explicitness)
31
- conn = CorePro::Connection.new 'your-api-key-here', 'your-api-secret-here', 'api.corepro.io'
32
-
33
- # retrieve a customer by a known tag (pass conn as nil if connection info is in config.yml)
34
- cust = CorePro::Customer.getByTag 'bweaver', conn
35
-
36
- # retrieve most recent transactions for that customer's primary account
37
- trans = CorePro::Transaction.list cust.customerId, cust.accounts[0].accountId
38
-
39
- ```
40
-
41
- ## Contributing
42
-
43
- 1. Fork it ( https://github.com/socialmoney/corepro-sdk-ruby/fork )
44
- 2. Create your feature branch (`git checkout -b my-new-feature`)
45
- 3. Commit your changes (`git commit -am 'Add some feature'`)
46
- 4. Push to the branch (`git push origin my-new-feature`)
47
- 5. Create a new Pull Request
1
+ # corepro-sdk-ruby
2
+
3
+ A Ruby SDK for consuming the CorePro API
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'corepro'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install corepro
20
+
21
+ ## Usage
22
+
23
+ Use this object hierarchy as a simple entry point into CorePro. Details of the CorePro API itself are available at
24
+ https://docs.corepro.io/api. To see all available SDKs, visit https://docs.corepro.io/sdk.
25
+
26
+ ```ruby
27
+ require 'corepro'
28
+
29
+ # create a connection
30
+ # (typical use case is to pull connection info from config.yml, this is for explicitness)
31
+ conn = CorePro::Connection.new 'your-api-key-here', 'your-api-secret-here', 'api.corepro.io'
32
+
33
+ # retrieve a customer by a known tag (pass conn as nil if connection info is in config.yml)
34
+ cust = CorePro::Customer.getByTag 'bweaver', conn
35
+
36
+ # retrieve most recent transactions for that customer's primary account
37
+ trans = CorePro::Transaction.list cust.customerId, cust.accounts[0].accountId
38
+
39
+ ```
40
+
41
+ ## Contributing
42
+
43
+ 1. Fork it ( https://github.com/socialmoney/corepro-sdk-ruby/fork )
44
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
45
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
46
+ 4. Push to the branch (`git push origin my-new-feature`)
47
+ 5. Create a new Pull Request
data/Rakefile CHANGED
@@ -1,2 +1,2 @@
1
- require "bundler/gem_tasks"
2
-
1
+ require "bundler/gem_tasks"
2
+
@@ -1,14 +1,14 @@
1
- require_relative 'corepro/connection'
2
- require_relative 'corepro/account'
3
- require_relative 'corepro/account_close'
4
- require_relative 'corepro/core_pro_api_exception'
5
- require_relative 'corepro/customer'
6
- require_relative 'corepro/customer_beneficiary'
7
- require_relative 'corepro/customer_document'
8
- require_relative 'corepro/bank_document'
9
- require_relative 'corepro/external_account'
10
- require_relative 'corepro/external_account_document'
11
- require_relative 'corepro/program'
12
- require_relative 'corepro/statement'
13
- require_relative 'corepro/transaction'
1
+ require_relative 'corepro/connection'
2
+ require_relative 'corepro/account'
3
+ require_relative 'corepro/account_close'
4
+ require_relative 'corepro/core_pro_api_exception'
5
+ require_relative 'corepro/customer'
6
+ require_relative 'corepro/customer_beneficiary'
7
+ require_relative 'corepro/customer_document'
8
+ require_relative 'corepro/bank_document'
9
+ require_relative 'corepro/external_account'
10
+ require_relative 'corepro/external_account_document'
11
+ require_relative 'corepro/program'
12
+ require_relative 'corepro/statement'
13
+ require_relative 'corepro/transaction'
14
14
  require_relative 'corepro/transfer'
@@ -1,30 +1,47 @@
1
1
  require_relative 'models/model_base'
2
2
  require_relative 'utils/requestor'
3
3
  require_relative 'models/account_id_only'
4
+ require_relative 'models/account_access'
4
5
 
5
6
  module CorePro
6
7
  class Account < Models::ModelBase
7
8
 
8
- attr_accessor :customerId
9
+ # Identifiers
9
10
  attr_accessor :accountId
11
+ attr_accessor :customerId
12
+ attr_accessor :tag
10
13
  attr_accessor :name
14
+ attr_accessor :routingNumber
15
+ attr_accessor :routingNumberMasked
11
16
  attr_accessor :accountNumber
12
17
  attr_accessor :accountNumberMasked
18
+ attr_accessor :legalName1
19
+ attr_accessor :legalName2
20
+
21
+ # state related
13
22
  attr_accessor :status
14
23
  attr_accessor :type
15
24
  attr_accessor :createdDate
16
25
  attr_accessor :closedDate
17
- attr_accessor :availableBalance
18
- attr_accessor :accountBalance
19
26
  attr_accessor :isPrimary
20
27
  attr_accessor :isCloseable
21
- attr_accessor :routingNumber
28
+ attr_accessor :lastModifiedDate
29
+
30
+ # goal related
22
31
  attr_accessor :targetAmount
23
32
  attr_accessor :targetDate
33
+ attr_accessor :targetMetDate
34
+ attr_accessor :targetMetPercent
24
35
  attr_accessor :category
25
36
  attr_accessor :subCategory
26
- attr_accessor :tag
27
- attr_accessor :miscellaneous
37
+
38
+ # balance related
39
+ attr_accessor :availableBalance
40
+ attr_accessor :accountBalance
41
+ attr_accessor :pendingBalance
42
+ attr_accessor :balanceLastModifiedDate
43
+
44
+ # recurring deposit related
28
45
  attr_accessor :recurringContributionType
29
46
  attr_accessor :recurringContributionAmount
30
47
  attr_accessor :recurringContributionFromExternalAccountId
@@ -32,6 +49,21 @@ module CorePro
32
49
  attr_accessor :recurringContributionEndDate
33
50
  attr_accessor :recurringContributionNextDate
34
51
 
52
+ # joint account related
53
+ attr_accessor :totalCustomers
54
+ attr_accessor :isJointAccount
55
+ attr_accessor :primaryCustomerId
56
+ attr_accessor :isPrimaryCustomer
57
+ attr_accessor :accessTypeCode
58
+ attr_accessor :customerPriority
59
+
60
+ # customizable
61
+ attr_accessor :customField1
62
+ attr_accessor :customField2
63
+ attr_accessor :customField3
64
+ attr_accessor :customField4
65
+ attr_accessor :customField5
66
+
35
67
  def initialize()
36
68
  end
37
69
 
@@ -64,5 +96,14 @@ module CorePro
64
96
  ac.close(connection, loggingObject)
65
97
  end
66
98
 
99
+ def self.listAccess(customerId, accountId, connection = nil, loggingObject = nil)
100
+ CorePro::Utils::Requestor.get("/account/listaccess/#{customerId}/#{accountId}", CorePro::Models::AccountAccess, connection, loggingObject)
101
+ end
102
+
103
+ def editAccess(connection = nil, loggingObject = nil)
104
+ aea = CorePro::Utils::Requestor.post('/account/editaccess', CorePro::Models::AccountIdOnly, self, connection, loggingObject)
105
+ aea.accountId
106
+ end
107
+
67
108
  end
68
109
  end