gitea-client 0.1.0

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