moex-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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: eae95925bc7eac4a2000d9b1cb42470a92331b3a425ecec753127c0791bd65b1
4
+ data.tar.gz: 07b79afe91e8a75c98b62f2e26dfb0af6ff2ee2becbbde98ee79753751320b78
5
+ SHA512:
6
+ metadata.gz: '09f2529e1d66efcdb026eaabc7ad96b363fb5e313364773e57e42f3c0cfa28804ee6b08d7222e41f8e2327d9f35948caa4f82f806b3fc305fb0c5993c2d5dbc1'
7
+ data.tar.gz: 9e0f1b8fa84e21e08759caf062fc8de266b9b3eee98ebcfdb29da175677aa3c91ab50c8de1ad207427fd31c8031568e044198d9215da383844128a51567a9820
data/.gitignore ADDED
@@ -0,0 +1,58 @@
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /coverage/
5
+ /InstalledFiles
6
+ /pkg/
7
+ /spec/reports/
8
+ /spec/examples.txt
9
+ /test/tmp/
10
+ /test/version_tmp/
11
+ /tmp/
12
+
13
+ # Used by dotenv library to load environment variables.
14
+ # .env
15
+
16
+ # Ignore Byebug command history file.
17
+ .byebug_history
18
+
19
+ ## Specific to RubyMotion:
20
+ .dat*
21
+ .repl_history
22
+ build/
23
+ *.bridgesupport
24
+ build-iPhoneOS/
25
+ build-iPhoneSimulator/
26
+
27
+ ## Specific to RubyMotion (use of CocoaPods):
28
+ #
29
+ # We recommend against adding the Pods directory to your .gitignore. However
30
+ # you should judge for yourself, the pros and cons are mentioned at:
31
+ # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
32
+ #
33
+ # vendor/Pods/
34
+
35
+ ## Documentation cache and generated files:
36
+ /.yardoc/
37
+ /_yardoc/
38
+ /doc/
39
+ /rdoc/
40
+
41
+ ## Environment normalization:
42
+ /.bundle/
43
+ /vendor/bundle
44
+ /lib/bundler/man/
45
+
46
+ # for a library or gem, you might want to ignore these files since the code is
47
+ # intended to run in multiple environments; otherwise, check them in:
48
+ # Gemfile.lock
49
+ # .ruby-version
50
+ # .ruby-gemset
51
+
52
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
53
+ .rvmrc
54
+
55
+ # Used by RuboCop. Remote config files pulled in from inherit_from directive.
56
+ # .rubocop-https?--*
57
+ /.idea/
58
+ /.supercode/
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --require spec_helper
data/.rspec_status ADDED
@@ -0,0 +1,4 @@
1
+ example_id | status | run_time |
2
+ ----------------------------- | ------ | --------------- |
3
+ ./spec/moex_ruby_spec.rb[1:1] | passed | 0.00059 seconds |
4
+ ./spec/moex_ruby_spec.rb[1:2] | passed | 0.00004 seconds |
data/.rubocop.yml ADDED
@@ -0,0 +1,41 @@
1
+ require:
2
+ - rubocop-rspec
3
+
4
+ AllCops:
5
+ NewCops: enable
6
+ TargetRubyVersion: 3.0
7
+
8
+ Style/Documentation:
9
+ Enabled: false
10
+
11
+ Style/StringLiterals:
12
+ EnforcedStyle: single_quotes
13
+
14
+ Style/FrozenStringLiteralComment:
15
+ Enabled: true
16
+
17
+ Layout/LineLength:
18
+ Max: 120
19
+
20
+ Layout/MultilineMethodCallIndentation:
21
+ EnforcedStyle: indented
22
+
23
+ Metrics/AbcSize:
24
+ Max: 20
25
+
26
+ Metrics/MethodLength:
27
+ Max: 20
28
+
29
+ Metrics/BlockLength:
30
+ Exclude:
31
+ - 'spec/**/*'
32
+ - 'Rakefile'
33
+
34
+ RSpec/ExampleLength:
35
+ Max: 10
36
+
37
+ RSpec/MultipleExpectations:
38
+ Max: 5
39
+
40
+ RSpec/NestedGroups:
41
+ Max: 4
data/Gemfile ADDED
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ # Specify your gem's dependencies in moex-ruby.gemspec
6
+ gemspec
7
+
8
+ group :development, :test do
9
+ gem 'rake', '~> 13.0'
10
+ gem 'rspec', '~> 3.0'
11
+ gem 'rubocop', '~> 1.0'
12
+ gem 'rubocop-rspec', '~> 2.0'
13
+ gem 'simplecov', '~> 0.21'
14
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,88 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ moex-ruby (0.0.1)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ ast (2.4.3)
10
+ diff-lcs (1.6.2)
11
+ docile (1.4.1)
12
+ json (2.15.1)
13
+ language_server-protocol (3.17.0.5)
14
+ lint_roller (1.1.0)
15
+ parallel (1.27.0)
16
+ parser (3.3.9.0)
17
+ ast (~> 2.4.1)
18
+ racc
19
+ prism (1.6.0)
20
+ racc (1.8.1)
21
+ rainbow (3.1.1)
22
+ rake (13.3.0)
23
+ regexp_parser (2.11.3)
24
+ rspec (3.13.2)
25
+ rspec-core (~> 3.13.0)
26
+ rspec-expectations (~> 3.13.0)
27
+ rspec-mocks (~> 3.13.0)
28
+ rspec-core (3.13.6)
29
+ rspec-support (~> 3.13.0)
30
+ rspec-expectations (3.13.5)
31
+ diff-lcs (>= 1.2.0, < 2.0)
32
+ rspec-support (~> 3.13.0)
33
+ rspec-mocks (3.13.6)
34
+ diff-lcs (>= 1.2.0, < 2.0)
35
+ rspec-support (~> 3.13.0)
36
+ rspec-support (3.13.6)
37
+ rubocop (1.81.6)
38
+ json (~> 2.3)
39
+ language_server-protocol (~> 3.17.0.2)
40
+ lint_roller (~> 1.1.0)
41
+ parallel (~> 1.10)
42
+ parser (>= 3.3.0.2)
43
+ rainbow (>= 2.2.2, < 4.0)
44
+ regexp_parser (>= 2.9.3, < 3.0)
45
+ rubocop-ast (>= 1.47.1, < 2.0)
46
+ ruby-progressbar (~> 1.7)
47
+ unicode-display_width (>= 2.4.0, < 4.0)
48
+ rubocop-ast (1.47.1)
49
+ parser (>= 3.3.7.2)
50
+ prism (~> 1.4)
51
+ rubocop-capybara (2.22.1)
52
+ lint_roller (~> 1.1)
53
+ rubocop (~> 1.72, >= 1.72.1)
54
+ rubocop-factory_bot (2.27.1)
55
+ lint_roller (~> 1.1)
56
+ rubocop (~> 1.72, >= 1.72.1)
57
+ rubocop-rspec (2.31.0)
58
+ rubocop (~> 1.40)
59
+ rubocop-capybara (~> 2.17)
60
+ rubocop-factory_bot (~> 2.22)
61
+ rubocop-rspec_rails (~> 2.28)
62
+ rubocop-rspec_rails (2.29.1)
63
+ rubocop (~> 1.61)
64
+ ruby-progressbar (1.13.0)
65
+ simplecov (0.22.0)
66
+ docile (~> 1.1)
67
+ simplecov-html (~> 0.11)
68
+ simplecov_json_formatter (~> 0.1)
69
+ simplecov-html (0.13.2)
70
+ simplecov_json_formatter (0.1.4)
71
+ unicode-display_width (3.2.0)
72
+ unicode-emoji (~> 4.1)
73
+ unicode-emoji (4.1.0)
74
+
75
+ PLATFORMS
76
+ arm64-darwin-24
77
+ ruby
78
+
79
+ DEPENDENCIES
80
+ moex-ruby!
81
+ rake (~> 13.0)
82
+ rspec (~> 3.0)
83
+ rubocop (~> 1.0)
84
+ rubocop-rspec (~> 2.0)
85
+ simplecov (~> 0.21)
86
+
87
+ BUNDLED WITH
88
+ 2.7.2
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Pushkin Ivan
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,13 @@
1
+ # moex-ruby
2
+
3
+ Ruby gem для работы с MOEX ISS API - интерфейсом информационной системы Московской Биржи.
4
+
5
+ ## Описание
6
+
7
+ Этот гем предоставляет удобный интерфейс для получения данных о торгах, инструментах, котировках и других аспектах Московской Биржи через официальное API ISS (Information & Statistical Server).
8
+
9
+ ## Документация
10
+
11
+ - [Руководство разработчика MOEX ISS API](https://www.moex.com/a2193)
12
+ - [Описание методов MOEX ISS API](https://iss.moex.com/iss/reference/)
13
+ - [Описание метаданных MOEX ISS API](https://iss.moex.com/iss/engines/stock/markets/shares/securities)
data/Rakefile ADDED
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ require 'rubocop/rake_task'
9
+ RuboCop::RakeTask.new
10
+
11
+ task default: :spec
data/SECURITY.md ADDED
@@ -0,0 +1,2 @@
1
+ # Security Policy
2
+ Please, report any security issue with pagy by sending an email to naveroot@gmail.com
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MoexRuby
4
+ VERSION = '0.0.1'
5
+ end
data/lib/moex_ruby.rb ADDED
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'moex_ruby/version'
4
+
5
+ module MoexRuby
6
+ class Error < StandardError; end
7
+ end
data/moex-ruby.gemspec ADDED
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'lib/moex_ruby/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'moex-ruby'
7
+ spec.version = MoexRuby::VERSION
8
+ spec.authors = ['Pushkin Ivan']
9
+ spec.email = ['naveroot@gmail.com']
10
+
11
+ spec.summary = 'Ruby client for Moscow Exchange (MOEX) API'
12
+ spec.description = 'A Ruby gem for interacting with Moscow Exchange API to fetch market data, ' \
13
+ 'securities information, and trading statistics.'
14
+ spec.homepage = 'https://github.com/naveroot/moex-ruby'
15
+ spec.license = 'MIT'
16
+
17
+ spec.metadata['source_code_uri'] = 'https://github.com/naveroot/moex-ruby'
18
+ spec.metadata['changelog_uri'] = 'https://github.com/naveroot/moex-ruby/blob/main/CHANGELOG.md'
19
+ spec.metadata['bug_tracker_uri'] = 'https://github.com/naveroot/moex-ruby/issues'
20
+ spec.metadata['rubygems_mfa_required'] = 'true'
21
+
22
+ # Specify which files should be added to the gem when it is released.
23
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
24
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
25
+ end
26
+ spec.bindir = 'exe'
27
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
28
+ spec.require_paths = ['lib']
29
+
30
+ spec.required_ruby_version = '>= 3.0'
31
+
32
+ # Uncomment to register a new dependency of your gem
33
+ # spec.add_runtime_dependency "example-gem", "~> 1.0"
34
+
35
+ # For more information and examples about making a new gem, check out our
36
+ # guide at: https://bundler.io/guides/creating_gem.html
37
+ end
metadata ADDED
@@ -0,0 +1,58 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: moex-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Pushkin Ivan
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies: []
12
+ description: A Ruby gem for interacting with Moscow Exchange API to fetch market data,
13
+ securities information, and trading statistics.
14
+ email:
15
+ - naveroot@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - ".gitignore"
21
+ - ".rspec"
22
+ - ".rspec_status"
23
+ - ".rubocop.yml"
24
+ - Gemfile
25
+ - Gemfile.lock
26
+ - LICENSE
27
+ - README.md
28
+ - Rakefile
29
+ - SECURITY.md
30
+ - lib/moex_ruby.rb
31
+ - lib/moex_ruby/version.rb
32
+ - moex-ruby.gemspec
33
+ homepage: https://github.com/naveroot/moex-ruby
34
+ licenses:
35
+ - MIT
36
+ metadata:
37
+ source_code_uri: https://github.com/naveroot/moex-ruby
38
+ changelog_uri: https://github.com/naveroot/moex-ruby/blob/main/CHANGELOG.md
39
+ bug_tracker_uri: https://github.com/naveroot/moex-ruby/issues
40
+ rubygems_mfa_required: 'true'
41
+ rdoc_options: []
42
+ require_paths:
43
+ - lib
44
+ required_ruby_version: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '3.0'
49
+ required_rubygems_version: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ requirements: []
55
+ rubygems_version: 3.7.2
56
+ specification_version: 4
57
+ summary: Ruby client for Moscow Exchange (MOEX) API
58
+ test_files: []