gitea-client 0.1.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.
data/lib/gitea/api.rb ADDED
@@ -0,0 +1,13 @@
1
+ require_relative 'common'
2
+ require_relative 'api/issue'
3
+ require_relative 'api/repository'
4
+ require_relative 'api/settings'
5
+ require_relative 'api/user'
6
+ require_relative 'api/organization'
7
+ require_relative 'api/notification'
8
+ require_relative 'api/miscellaneous'
9
+ require_relative 'api/admin'
10
+ require_relative 'api/client'
11
+ require_relative 'api/config'
12
+ require_relative 'api/exception'
13
+ require_relative 'api/http'
@@ -0,0 +1,12 @@
1
+ module Gitea
2
+ module Common
3
+
4
+ class Exception < RuntimeError
5
+ attr_reader :message
6
+
7
+ def initialize(message)
8
+ @message = message
9
+ end
10
+ end
11
+ end # Common
12
+ end # Gitea
@@ -0,0 +1,62 @@
1
+ require 'logger'
2
+
3
+ module Gitea
4
+ module Common
5
+
6
+ ##
7
+ # Logging support
8
+ # @example
9
+ # include Logging
10
+ # logger.info(xxx)
11
+
12
+ module Logging
13
+
14
+ MAX_NUM_LOG = 100
15
+ ROTATE_SIZE = 10 * 1024 * 1024
16
+
17
+ # level = Logger::DEBUG | Logger::INFO | Logger::ERROR | Logger::FATAL
18
+ def self.set_log_level(level)
19
+ Logging.logger.level = level
20
+ end
21
+
22
+ # 设置日志输出的文件
23
+ def self.set_log_file(file)
24
+ @log_file = file
25
+ end
26
+
27
+ # 获取logger
28
+ def logger
29
+ Logging.logger
30
+ end
31
+
32
+ private
33
+
34
+ def self.logger
35
+ unless @logger
36
+ @log_file ||= ENV["GITEA_CLIENT_LOG_PATH"]
37
+ @logger = Logger.new(
38
+ @log_file, MAX_NUM_LOG, ROTATE_SIZE)
39
+ @logger.level = get_env_log_level || Logger::INFO
40
+ end
41
+ @logger
42
+ end
43
+
44
+ def self.get_env_log_level
45
+ return unless ENV["GITEA_CLIENT_LOG_LEVEL"]
46
+ case ENV["GITEA_CLIENT_LOG_LEVEL"].upcase
47
+ when "DEBUG"
48
+ Logger::DEBUG
49
+ when "WARN"
50
+ Logger::WARN
51
+ when "ERROR"
52
+ Logger::ERROR
53
+ when "FATAL"
54
+ Logger::FATAL
55
+ when "UNKNOWN"
56
+ Logger::UNKNOWN
57
+ end
58
+ end
59
+
60
+ end
61
+ end # Common
62
+ end # Gitea
@@ -0,0 +1,37 @@
1
+ module Gitea
2
+ module Common
3
+ module Struct
4
+ class Base
5
+ module AttrHelper
6
+ def attrs(*s)
7
+ define_method(:attrs) {s}
8
+ attr_reader(*s)
9
+ end
10
+ end
11
+
12
+ extend AttrHelper
13
+
14
+ def initialize(opts = {})
15
+ extra_keys = opts.keys - attrs
16
+ unless extra_keys.empty?
17
+ fail Common::Exception,
18
+ "Unexpected extra keys: #{extra_keys.join(', ')}"
19
+ end
20
+
21
+ attrs.each do |attr|
22
+ instance_variable_set("@#{attr}", opts[attr])
23
+ end
24
+ end
25
+
26
+ def to_s
27
+ attrs.map do |attr|
28
+ v = instance_variable_get("@#{attr}")
29
+ "#{attr.to_s}: #{v}"
30
+ end.join(", ")
31
+ end
32
+
33
+ end # Base
34
+ end # Struct
35
+
36
+ end # Common
37
+ end # Gitea
@@ -0,0 +1,3 @@
1
+ require_relative 'common/exception'
2
+ require_relative 'common/logging'
3
+ require_relative 'common/struct'
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gitea
4
+ VERSION = "0.1.0"
5
+ end
metadata ADDED
@@ -0,0 +1,75 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gitea-client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - viletyy
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2022-05-05 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: ''
14
+ email:
15
+ - yystopf@163.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - ".standard.yml"
21
+ - CHANGELOG.md
22
+ - CODE_OF_CONDUCT.md
23
+ - Gemfile
24
+ - Gemfile.lock
25
+ - LICENSE.txt
26
+ - README.md
27
+ - Rakefile
28
+ - bin/giteaclient
29
+ - bin/setup
30
+ - gitea-client.gemspec
31
+ - lib/gitea/api.rb
32
+ - lib/gitea/api/admin.rb
33
+ - lib/gitea/api/client.rb
34
+ - lib/gitea/api/config.rb
35
+ - lib/gitea/api/exception.rb
36
+ - lib/gitea/api/http.rb
37
+ - lib/gitea/api/issue.rb
38
+ - lib/gitea/api/miscellaneous.rb
39
+ - lib/gitea/api/notification.rb
40
+ - lib/gitea/api/organization.rb
41
+ - lib/gitea/api/repository.rb
42
+ - lib/gitea/api/settings.rb
43
+ - lib/gitea/api/user.rb
44
+ - lib/gitea/common.rb
45
+ - lib/gitea/common/exception.rb
46
+ - lib/gitea/common/logging.rb
47
+ - lib/gitea/common/struct.rb
48
+ - lib/gitea/version.rb
49
+ homepage: https://github.com/viletyy/gitea-client
50
+ licenses:
51
+ - MIT
52
+ metadata:
53
+ homepage_uri: https://github.com/viletyy/gitea-client
54
+ source_code_uri: https://github.com/viletyy/gitea-client
55
+ changelog_uri: https://github.com/viletyy/gitea-client
56
+ post_install_message:
57
+ rdoc_options: []
58
+ require_paths:
59
+ - lib
60
+ required_ruby_version: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 2.6.0
65
+ required_rubygems_version: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ requirements: []
71
+ rubygems_version: 3.1.4
72
+ signing_key:
73
+ specification_version: 4
74
+ summary: Gitea API 库
75
+ test_files: []