corepro 0.0.9 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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