lunchmoney 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.DS_Store +0 -0
- data/.github/dependabot.yml +18 -0
- data/.github/workflows/build_and_publish_yard_docs.yml +47 -0
- data/.github/workflows/ci.yml +58 -0
- data/.github/workflows/dependabot-rbi-updater.yml +43 -0
- data/.github/workflows/publish_gem.yml +31 -0
- data/.gitignore +62 -0
- data/.rubocop.yml +45 -0
- data/.ruby-version +1 -0
- data/.toys/.toys.rb +10 -0
- data/.toys/ci.rb +22 -0
- data/.toys/rbi.rb +60 -0
- data/.toys/rubocop.rb +10 -0
- data/.toys/spoom.rb +15 -0
- data/.toys/typecheck.rb +5 -0
- data/.yardopts +2 -0
- data/Appraisals +22 -0
- data/Gemfile +25 -0
- data/Gemfile.lock +174 -0
- data/LICENSE +21 -0
- data/README.md +57 -0
- data/bin/console +16 -0
- data/bin/rubocop +27 -0
- data/bin/setup +8 -0
- data/bin/spoom +27 -0
- data/bin/srb +27 -0
- data/bin/tapioca +27 -0
- data/bin/toys +27 -0
- data/bin/yard +27 -0
- data/lib/lunchmoney/api.rb +147 -0
- data/lib/lunchmoney/api_call.rb +109 -0
- data/lib/lunchmoney/assets/asset.rb +89 -0
- data/lib/lunchmoney/assets/asset_calls.rb +96 -0
- data/lib/lunchmoney/budget/budget.rb +74 -0
- data/lib/lunchmoney/budget/budget_calls.rb +82 -0
- data/lib/lunchmoney/budget/config.rb +38 -0
- data/lib/lunchmoney/budget/data.rb +42 -0
- data/lib/lunchmoney/categories/category/category.rb +52 -0
- data/lib/lunchmoney/categories/category/child_category.rb +42 -0
- data/lib/lunchmoney/categories/category_calls.rb +195 -0
- data/lib/lunchmoney/configuration.rb +26 -0
- data/lib/lunchmoney/crypto/crypto/crypto.rb +43 -0
- data/lib/lunchmoney/crypto/crypto/crypto_base.rb +65 -0
- data/lib/lunchmoney/crypto/crypto_calls.rb +49 -0
- data/lib/lunchmoney/data_object.rb +25 -0
- data/lib/lunchmoney/errors.rb +19 -0
- data/lib/lunchmoney/exceptions.rb +19 -0
- data/lib/lunchmoney/plaid_accounts/plaid_account.rb +73 -0
- data/lib/lunchmoney/plaid_accounts/plaid_account_calls.rb +38 -0
- data/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense.rb +65 -0
- data/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense_base.rb +29 -0
- data/lib/lunchmoney/recurring_expenses/recurring_expense_calls.rb +28 -0
- data/lib/lunchmoney/tags/tag/tag.rb +20 -0
- data/lib/lunchmoney/tags/tag/tag_base.rb +21 -0
- data/lib/lunchmoney/tags/tag_calls.rb +20 -0
- data/lib/lunchmoney/transactions/transaction/child_transaction.rb +31 -0
- data/lib/lunchmoney/transactions/transaction/split.rb +24 -0
- data/lib/lunchmoney/transactions/transaction/transaction.rb +156 -0
- data/lib/lunchmoney/transactions/transaction/transaction_base.rb +52 -0
- data/lib/lunchmoney/transactions/transaction/transaction_modification_base.rb +30 -0
- data/lib/lunchmoney/transactions/transaction/update_transaction.rb +43 -0
- data/lib/lunchmoney/transactions/transaction_calls.rb +218 -0
- data/lib/lunchmoney/user/user.rb +36 -0
- data/lib/lunchmoney/user/user_calls.rb +19 -0
- data/lib/lunchmoney/validators.rb +43 -0
- data/lib/lunchmoney/version.rb +7 -0
- data/lib/lunchmoney.rb +54 -0
- data/lunchmoney.gemspec +34 -0
- data/sorbet/config +5 -0
- data/sorbet/rbi/annotations/.gitattributes +1 -0
- data/sorbet/rbi/annotations/activesupport.rbi +410 -0
- data/sorbet/rbi/annotations/faraday.rbi +17 -0
- data/sorbet/rbi/annotations/mocha.rbi +34 -0
- data/sorbet/rbi/annotations/rainbow.rbi +269 -0
- data/sorbet/rbi/annotations/webmock.rbi +9 -0
- data/sorbet/rbi/dsl/.gitattributes +1 -0
- data/sorbet/rbi/dsl/active_support/callbacks.rbi +22 -0
- data/sorbet/rbi/gems/.gitattributes +1 -0
- data/sorbet/rbi/gems/activesupport@7.1.3.rbi +18004 -0
- data/sorbet/rbi/gems/addressable@2.8.6.rbi +1993 -0
- data/sorbet/rbi/gems/appraisal@2.5.0.rbi +621 -0
- data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
- data/sorbet/rbi/gems/base64@0.2.0.rbi +508 -0
- data/sorbet/rbi/gems/bigdecimal@3.1.6.rbi +77 -0
- data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
- data/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi +11590 -0
- data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +8 -0
- data/sorbet/rbi/gems/crack@0.4.5.rbi +144 -0
- data/sorbet/rbi/gems/dotenv@2.8.1.rbi +234 -0
- data/sorbet/rbi/gems/drb@2.2.0.rbi +1346 -0
- data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
- data/sorbet/rbi/gems/faraday-net_http@3.1.0.rbi +146 -0
- data/sorbet/rbi/gems/faraday@2.9.0.rbi +2911 -0
- data/sorbet/rbi/gems/hashdiff@1.1.0.rbi +352 -0
- data/sorbet/rbi/gems/i18n@1.14.1.rbi +2325 -0
- data/sorbet/rbi/gems/json@2.7.1.rbi +1561 -0
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
- data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
- data/sorbet/rbi/gems/minitest@5.21.2.rbi +2197 -0
- data/sorbet/rbi/gems/mocha@2.1.0.rbi +3934 -0
- data/sorbet/rbi/gems/mutex_m@0.2.0.rbi +93 -0
- data/sorbet/rbi/gems/net-http@0.4.1.rbi +4068 -0
- data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
- data/sorbet/rbi/gems/parallel@1.24.0.rbi +280 -0
- data/sorbet/rbi/gems/parser@3.3.0.5.rbi +5472 -0
- data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
- data/sorbet/rbi/gems/prism@0.19.0.rbi +29883 -0
- data/sorbet/rbi/gems/pry-sorbet@0.2.1.rbi +966 -0
- data/sorbet/rbi/gems/pry@0.14.2.rbi +10077 -0
- data/sorbet/rbi/gems/public_suffix@5.0.4.rbi +935 -0
- data/sorbet/rbi/gems/racc@1.7.3.rbi +161 -0
- data/sorbet/rbi/gems/rack@3.0.8.rbi +5183 -0
- data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
- data/sorbet/rbi/gems/rake@13.1.0.rbi +3027 -0
- data/sorbet/rbi/gems/rbi@0.1.6.rbi +2922 -0
- data/sorbet/rbi/gems/regexp_parser@2.9.0.rbi +3771 -0
- data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
- data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +7117 -0
- data/sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi +2576 -0
- data/sorbet/rbi/gems/rubocop-rails@2.23.1.rbi +9175 -0
- data/sorbet/rbi/gems/rubocop-shopify@2.14.0.rbi +8 -0
- data/sorbet/rbi/gems/rubocop-sorbet@0.7.6.rbi +1510 -0
- data/sorbet/rbi/gems/rubocop@1.60.1.rbi +57356 -0
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
- data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +8 -0
- data/sorbet/rbi/gems/spoom@1.2.4.rbi +3777 -0
- data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +23136 -0
- data/sorbet/rbi/gems/tapioca@0.12.0.rbi +3506 -0
- data/sorbet/rbi/gems/thor@1.3.0.rbi +4312 -0
- data/sorbet/rbi/gems/toys-core@0.15.4.rbi +9462 -0
- data/sorbet/rbi/gems/toys@0.15.4.rbi +243 -0
- data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5917 -0
- data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +65 -0
- data/sorbet/rbi/gems/uri@0.13.0.rbi +2327 -0
- data/sorbet/rbi/gems/vcr@6.2.0.rbi +3036 -0
- data/sorbet/rbi/gems/webmock@3.19.1.rbi +1768 -0
- data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
- data/sorbet/rbi/gems/yard@0.9.34.rbi +18084 -0
- data/sorbet/shims/module.rbi +6 -0
- data/sorbet/tapioca/require.rb +10 -0
- metadata +228 -0
@@ -0,0 +1,8 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
# DO NOT EDIT MANUALLY
|
4
|
+
# This is an autogenerated file for types exported from the `connection_pool` gem.
|
5
|
+
# Please instead update this file by running `bin/tapioca gem connection_pool`.
|
6
|
+
|
7
|
+
# THIS IS AN EMPTY RBI FILE.
|
8
|
+
# see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
|
@@ -0,0 +1,144 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
# DO NOT EDIT MANUALLY
|
4
|
+
# This is an autogenerated file for types exported from the `crack` gem.
|
5
|
+
# Please instead update this file by running `bin/tapioca gem crack`.
|
6
|
+
|
7
|
+
# source://crack//lib/crack/xml.rb#196
|
8
|
+
module Crack; end
|
9
|
+
|
10
|
+
# source://crack//lib/crack/xml.rb#197
|
11
|
+
class Crack::REXMLParser
|
12
|
+
class << self
|
13
|
+
# source://crack//lib/crack/xml.rb#198
|
14
|
+
def parse(xml); end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
# source://crack//lib/crack/xml.rb#225
|
19
|
+
class Crack::XML
|
20
|
+
class << self
|
21
|
+
# source://crack//lib/crack/xml.rb#234
|
22
|
+
def parse(xml); end
|
23
|
+
|
24
|
+
# source://crack//lib/crack/xml.rb#226
|
25
|
+
def parser; end
|
26
|
+
|
27
|
+
# source://crack//lib/crack/xml.rb#230
|
28
|
+
def parser=(parser); end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
# This is a slighly modified version of the XMLUtilityNode from
|
33
|
+
# http://merb.devjavu.com/projects/merb/ticket/95 (has.sox@gmail.com)
|
34
|
+
# It's mainly just adding vowels, as I ht cd wth n vwls :)
|
35
|
+
# This represents the hard part of the work, all I did was change the
|
36
|
+
# underlying parser.
|
37
|
+
#
|
38
|
+
# source://crack//lib/crack/xml.rb#23
|
39
|
+
class REXMLUtilityNode
|
40
|
+
# @return [REXMLUtilityNode] a new instance of REXMLUtilityNode
|
41
|
+
#
|
42
|
+
# source://crack//lib/crack/xml.rb#56
|
43
|
+
def initialize(name, normalized_attributes = T.unsafe(nil)); end
|
44
|
+
|
45
|
+
# source://crack//lib/crack/xml.rb#73
|
46
|
+
def add_node(node); end
|
47
|
+
|
48
|
+
# source://crack//lib/crack/xml.rb#24
|
49
|
+
def attributes; end
|
50
|
+
|
51
|
+
# source://crack//lib/crack/xml.rb#24
|
52
|
+
def attributes=(_arg0); end
|
53
|
+
|
54
|
+
# source://crack//lib/crack/xml.rb#24
|
55
|
+
def children; end
|
56
|
+
|
57
|
+
# source://crack//lib/crack/xml.rb#24
|
58
|
+
def children=(_arg0); end
|
59
|
+
|
60
|
+
# Get the inner_html of the REXML node.
|
61
|
+
#
|
62
|
+
# source://crack//lib/crack/xml.rb#172
|
63
|
+
def inner_html; end
|
64
|
+
|
65
|
+
# source://crack//lib/crack/xml.rb#24
|
66
|
+
def name; end
|
67
|
+
|
68
|
+
# source://crack//lib/crack/xml.rb#24
|
69
|
+
def name=(_arg0); end
|
70
|
+
|
71
|
+
# source://crack//lib/crack/xml.rb#78
|
72
|
+
def to_hash; end
|
73
|
+
|
74
|
+
# Converts the node into a readable HTML node.
|
75
|
+
#
|
76
|
+
# @return [String] The HTML node in text form.
|
77
|
+
#
|
78
|
+
# source://crack//lib/crack/xml.rb#179
|
79
|
+
def to_html; end
|
80
|
+
|
81
|
+
# source://crack//lib/crack/xml.rb#185
|
82
|
+
def to_s; end
|
83
|
+
|
84
|
+
# source://crack//lib/crack/xml.rb#24
|
85
|
+
def type; end
|
86
|
+
|
87
|
+
# source://crack//lib/crack/xml.rb#24
|
88
|
+
def type=(_arg0); end
|
89
|
+
|
90
|
+
# Typecasts a value based upon its type. For instance, if
|
91
|
+
# +node+ has #type == "integer",
|
92
|
+
# {{[node.typecast_value("12") #=> 12]}}
|
93
|
+
#
|
94
|
+
# @note If +self+ does not have a "type" key, or if it's not one of the
|
95
|
+
# options specified above, the raw +value+ will be returned.
|
96
|
+
# @param value [String] The value that is being typecast.
|
97
|
+
# @return [Integer, TrueClass, FalseClass, Time, Date, Object] The result of typecasting +value+.
|
98
|
+
#
|
99
|
+
# source://crack//lib/crack/xml.rb#157
|
100
|
+
def typecast_value(value); end
|
101
|
+
|
102
|
+
# Take keys of the form foo-bar and convert them to foo_bar
|
103
|
+
#
|
104
|
+
# source://crack//lib/crack/xml.rb#164
|
105
|
+
def undasherize_keys(params); end
|
106
|
+
|
107
|
+
private
|
108
|
+
|
109
|
+
# source://crack//lib/crack/xml.rb#191
|
110
|
+
def unnormalize_xml_entities(value); end
|
111
|
+
|
112
|
+
class << self
|
113
|
+
# source://crack//lib/crack/xml.rb#34
|
114
|
+
def available_typecasts; end
|
115
|
+
|
116
|
+
# source://crack//lib/crack/xml.rb#38
|
117
|
+
def available_typecasts=(obj); end
|
118
|
+
|
119
|
+
# source://crack//lib/crack/xml.rb#26
|
120
|
+
def typecasts; end
|
121
|
+
|
122
|
+
# source://crack//lib/crack/xml.rb#30
|
123
|
+
def typecasts=(obj); end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
# The Reason behind redefining the String Class for this specific plugin is to
|
128
|
+
# avoid the dynamic insertion of stuff on it (see version previous to this commit).
|
129
|
+
# Doing that disables the possibility of efectuating a dump on the structure. This way it goes.
|
130
|
+
#
|
131
|
+
# source://crack//lib/crack/xml.rb#14
|
132
|
+
class REXMLUtiliyNodeString < ::String
|
133
|
+
# Returns the value of attribute attributes.
|
134
|
+
#
|
135
|
+
# source://crack//lib/crack/xml.rb#15
|
136
|
+
def attributes; end
|
137
|
+
|
138
|
+
# Sets the attribute attributes
|
139
|
+
#
|
140
|
+
# @param value the value to set the attribute attributes to.
|
141
|
+
#
|
142
|
+
# source://crack//lib/crack/xml.rb#15
|
143
|
+
def attributes=(_arg0); end
|
144
|
+
end
|
@@ -0,0 +1,234 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
# DO NOT EDIT MANUALLY
|
4
|
+
# This is an autogenerated file for types exported from the `dotenv` gem.
|
5
|
+
# Please instead update this file by running `bin/tapioca gem dotenv`.
|
6
|
+
|
7
|
+
# The top level Dotenv module. The entrypoint for the application logic.
|
8
|
+
#
|
9
|
+
# source://dotenv//lib/dotenv/substitutions/variable.rb#3
|
10
|
+
module Dotenv
|
11
|
+
private
|
12
|
+
|
13
|
+
# source://dotenv//lib/dotenv.rb#82
|
14
|
+
def ignoring_nonexistent_files; end
|
15
|
+
|
16
|
+
# source://dotenv//lib/dotenv.rb#68
|
17
|
+
def instrument(name, payload = T.unsafe(nil), &block); end
|
18
|
+
|
19
|
+
# source://dotenv//lib/dotenv.rb#13
|
20
|
+
def load(*filenames); end
|
21
|
+
|
22
|
+
# same as `load`, but raises Errno::ENOENT if any files don't exist
|
23
|
+
#
|
24
|
+
# source://dotenv//lib/dotenv.rb#23
|
25
|
+
def load!(*filenames); end
|
26
|
+
|
27
|
+
# same as `load`, but will override existing values in `ENV`
|
28
|
+
#
|
29
|
+
# source://dotenv//lib/dotenv.rb#31
|
30
|
+
def overload(*filenames); end
|
31
|
+
|
32
|
+
# same as `overload`, but raises Errno::ENOENT if any files don't exist
|
33
|
+
#
|
34
|
+
# source://dotenv//lib/dotenv.rb#41
|
35
|
+
def overload!(*filenames); end
|
36
|
+
|
37
|
+
# returns a hash of parsed key/value pairs but does not modify ENV
|
38
|
+
#
|
39
|
+
# source://dotenv//lib/dotenv.rb#49
|
40
|
+
def parse(*filenames); end
|
41
|
+
|
42
|
+
# source://dotenv//lib/dotenv.rb#76
|
43
|
+
def require_keys(*keys); end
|
44
|
+
|
45
|
+
# Internal: Helper to expand list of filenames.
|
46
|
+
#
|
47
|
+
# Returns a hash of all the loaded environment variables.
|
48
|
+
#
|
49
|
+
# source://dotenv//lib/dotenv.rb#60
|
50
|
+
def with(*filenames); end
|
51
|
+
|
52
|
+
class << self
|
53
|
+
# source://dotenv//lib/dotenv.rb#82
|
54
|
+
def ignoring_nonexistent_files; end
|
55
|
+
|
56
|
+
# source://dotenv//lib/dotenv.rb#68
|
57
|
+
def instrument(name, payload = T.unsafe(nil), &block); end
|
58
|
+
|
59
|
+
# Returns the value of attribute instrumenter.
|
60
|
+
#
|
61
|
+
# source://dotenv//lib/dotenv.rb#8
|
62
|
+
def instrumenter; end
|
63
|
+
|
64
|
+
# Sets the attribute instrumenter
|
65
|
+
#
|
66
|
+
# @param value the value to set the attribute instrumenter to.
|
67
|
+
#
|
68
|
+
# source://dotenv//lib/dotenv.rb#8
|
69
|
+
def instrumenter=(_arg0); end
|
70
|
+
|
71
|
+
# source://dotenv//lib/dotenv.rb#13
|
72
|
+
def load(*filenames); end
|
73
|
+
|
74
|
+
# same as `load`, but raises Errno::ENOENT if any files don't exist
|
75
|
+
#
|
76
|
+
# source://dotenv//lib/dotenv.rb#23
|
77
|
+
def load!(*filenames); end
|
78
|
+
|
79
|
+
# same as `load`, but will override existing values in `ENV`
|
80
|
+
#
|
81
|
+
# source://dotenv//lib/dotenv.rb#31
|
82
|
+
def overload(*filenames); end
|
83
|
+
|
84
|
+
# same as `overload`, but raises Errno::ENOENT if any files don't exist
|
85
|
+
#
|
86
|
+
# source://dotenv//lib/dotenv.rb#41
|
87
|
+
def overload!(*filenames); end
|
88
|
+
|
89
|
+
# returns a hash of parsed key/value pairs but does not modify ENV
|
90
|
+
#
|
91
|
+
# source://dotenv//lib/dotenv.rb#49
|
92
|
+
def parse(*filenames); end
|
93
|
+
|
94
|
+
# @raise [MissingKeys]
|
95
|
+
#
|
96
|
+
# source://dotenv//lib/dotenv.rb#76
|
97
|
+
def require_keys(*keys); end
|
98
|
+
|
99
|
+
# Internal: Helper to expand list of filenames.
|
100
|
+
#
|
101
|
+
# Returns a hash of all the loaded environment variables.
|
102
|
+
#
|
103
|
+
# source://dotenv//lib/dotenv.rb#60
|
104
|
+
def with(*filenames); end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
# This class inherits from Hash and represents the environment into which
|
109
|
+
# Dotenv will load key value pairs from a file.
|
110
|
+
#
|
111
|
+
# source://dotenv//lib/dotenv/environment.rb#4
|
112
|
+
class Dotenv::Environment < ::Hash
|
113
|
+
# @return [Environment] a new instance of Environment
|
114
|
+
#
|
115
|
+
# source://dotenv//lib/dotenv/environment.rb#7
|
116
|
+
def initialize(filename, is_load = T.unsafe(nil)); end
|
117
|
+
|
118
|
+
# source://dotenv//lib/dotenv/environment.rb#20
|
119
|
+
def apply; end
|
120
|
+
|
121
|
+
# source://dotenv//lib/dotenv/environment.rb#24
|
122
|
+
def apply!; end
|
123
|
+
|
124
|
+
# Returns the value of attribute filename.
|
125
|
+
#
|
126
|
+
# source://dotenv//lib/dotenv/environment.rb#5
|
127
|
+
def filename; end
|
128
|
+
|
129
|
+
# source://dotenv//lib/dotenv/environment.rb#12
|
130
|
+
def load(is_load = T.unsafe(nil)); end
|
131
|
+
|
132
|
+
# source://dotenv//lib/dotenv/environment.rb#16
|
133
|
+
def read; end
|
134
|
+
end
|
135
|
+
|
136
|
+
# source://dotenv//lib/dotenv/missing_keys.rb#2
|
137
|
+
class Dotenv::Error < ::StandardError; end
|
138
|
+
|
139
|
+
# source://dotenv//lib/dotenv/parser.rb#5
|
140
|
+
class Dotenv::FormatError < ::SyntaxError; end
|
141
|
+
|
142
|
+
# source://dotenv//lib/dotenv/missing_keys.rb#4
|
143
|
+
class Dotenv::MissingKeys < ::Dotenv::Error
|
144
|
+
# @return [MissingKeys] a new instance of MissingKeys
|
145
|
+
#
|
146
|
+
# source://dotenv//lib/dotenv/missing_keys.rb#5
|
147
|
+
def initialize(keys); end
|
148
|
+
end
|
149
|
+
|
150
|
+
# This class enables parsing of a string for key value pairs to be returned
|
151
|
+
# and stored in the Environment. It allows for variable substitutions and
|
152
|
+
# exporting of variables.
|
153
|
+
#
|
154
|
+
# source://dotenv//lib/dotenv/parser.rb#10
|
155
|
+
class Dotenv::Parser
|
156
|
+
# @return [Parser] a new instance of Parser
|
157
|
+
#
|
158
|
+
# source://dotenv//lib/dotenv/parser.rb#40
|
159
|
+
def initialize(string, is_load = T.unsafe(nil)); end
|
160
|
+
|
161
|
+
# source://dotenv//lib/dotenv/parser.rb#46
|
162
|
+
def call; end
|
163
|
+
|
164
|
+
private
|
165
|
+
|
166
|
+
# source://dotenv//lib/dotenv/parser.rb#82
|
167
|
+
def expand_newlines(value); end
|
168
|
+
|
169
|
+
# source://dotenv//lib/dotenv/parser.rb#62
|
170
|
+
def parse_line(line); end
|
171
|
+
|
172
|
+
# source://dotenv//lib/dotenv/parser.rb#70
|
173
|
+
def parse_value(value); end
|
174
|
+
|
175
|
+
# source://dotenv//lib/dotenv/parser.rb#100
|
176
|
+
def perform_substitutions(value, maybe_quote); end
|
177
|
+
|
178
|
+
# source://dotenv//lib/dotenv/parser.rb#78
|
179
|
+
def unescape_characters(value); end
|
180
|
+
|
181
|
+
# source://dotenv//lib/dotenv/parser.rb#90
|
182
|
+
def unescape_value(value, maybe_quote); end
|
183
|
+
|
184
|
+
# @return [Boolean]
|
185
|
+
#
|
186
|
+
# source://dotenv//lib/dotenv/parser.rb#86
|
187
|
+
def variable_not_set?(line); end
|
188
|
+
|
189
|
+
class << self
|
190
|
+
# source://dotenv//lib/dotenv/parser.rb#35
|
191
|
+
def call(string, is_load = T.unsafe(nil)); end
|
192
|
+
|
193
|
+
# Returns the value of attribute substitutions.
|
194
|
+
#
|
195
|
+
# source://dotenv//lib/dotenv/parser.rb#33
|
196
|
+
def substitutions; end
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
200
|
+
# source://dotenv//lib/dotenv/parser.rb#14
|
201
|
+
Dotenv::Parser::LINE = T.let(T.unsafe(nil), Regexp)
|
202
|
+
|
203
|
+
# source://dotenv//lib/dotenv/substitutions/variable.rb#4
|
204
|
+
module Dotenv::Substitutions; end
|
205
|
+
|
206
|
+
# Substitute shell commands in a value.
|
207
|
+
#
|
208
|
+
# SHA=$(git rev-parse HEAD)
|
209
|
+
#
|
210
|
+
# source://dotenv//lib/dotenv/substitutions/command.rb#9
|
211
|
+
module Dotenv::Substitutions::Command
|
212
|
+
class << self
|
213
|
+
# source://dotenv//lib/dotenv/substitutions/command.rb#23
|
214
|
+
def call(value, _env, _is_load); end
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
218
|
+
# Substitute variables in a value.
|
219
|
+
#
|
220
|
+
# HOST=example.com
|
221
|
+
# URL="https://$HOST"
|
222
|
+
#
|
223
|
+
# source://dotenv//lib/dotenv/substitutions/variable.rb#10
|
224
|
+
module Dotenv::Substitutions::Variable
|
225
|
+
class << self
|
226
|
+
# source://dotenv//lib/dotenv/substitutions/variable.rb#21
|
227
|
+
def call(value, env, is_load); end
|
228
|
+
|
229
|
+
private
|
230
|
+
|
231
|
+
# source://dotenv//lib/dotenv/substitutions/variable.rb#31
|
232
|
+
def substitute(match, variable, env); end
|
233
|
+
end
|
234
|
+
end
|