cafe_buy 0.0.79 → 0.1.33

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cafe_buy.rb +174 -149
  3. metadata +3 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 391b027b4ad69447e4c5c2783220585308a9c4df0cd7a537cabdd174c22f0ff0
4
- data.tar.gz: 3ada78c482f9873b354b783e6a2d054b9018e0d029de42ae4dd960af09d56d30
3
+ metadata.gz: c27888f83aae9f7d1c6b7759a9513714a8144ed72fb051da0b2f875b8a86b15d
4
+ data.tar.gz: 23560db31a3d4fa3ec709c4f5647ba807edcc0a795384628cb4ef4e561f9f5f3
5
5
  SHA512:
6
- metadata.gz: f3a9a10fd544f713bc63d96bb075ced429f43950b7062102906a1b71f0afb86be944e24c5ca0ba5118aa966c6879256de6a8251e1b94cd56d41d511c20de0b48
7
- data.tar.gz: a1ce3d0b99136395a735d0fc71c03802647e805fa7a4a08eef3bec9f6c90868e1e7a23cd1daba5a28ad5f2c97a836684023886ecbbd53fe452d9163d8a77645e
6
+ metadata.gz: 2842efb67aeead457df73a7872a5fced90ef00dddb959427223a64248de16494a57d7123c6d1db50edfe8bffa03cfef5667c0254888978af31c26dd8c6746a86
7
+ data.tar.gz: 787bd7f59bcbc5d8c9d95f14a3d4cf571066defcbc0a3e0c6ecd18065c9564d1d339f7dcd3ee4214864e451ce54ce4d246d6f70aba1e5beb1e23e1cfe399b911
data/lib/cafe_buy.rb CHANGED
@@ -2312,20 +2312,27 @@ class Wordpress
2312
2312
 
2313
2313
  def save_image
2314
2314
  if @data['이미지설정']['이미지'].length == 0
2315
-
2315
+ return
2316
+ end
2317
+
2318
+ if @data['이미지설정']['순서사용'].checked?
2319
+ image_path = @data['이미지설정']['이미지'][@image_counter][2]
2320
+ @image_counter += 1
2321
+ if @image_counter > @data['이미지설정']['이미지'].length - 1
2322
+ @image_counter = 0
2323
+ end
2316
2324
  else
2317
- if @data['이미지설정']['순서사용'].checked?
2318
- image_path = @data['이미지설정']['이미지'][@image_counter][2]
2319
- @image_counter += 1
2320
- if @image_counter > @data['이미지설정']['이미지'].length-1
2321
- @image_counter = 0
2322
- end
2323
- else
2324
- image_path = @data['이미지설정']['이미지'].sample[2]
2325
+ # 초기화가 안됐거나 다 썼으면 새롭게 섞는다
2326
+ @shuffled_images ||= []
2327
+ if @shuffled_images.empty?
2328
+ @shuffled_images = @data['이미지설정']['이미지'].shuffle
2325
2329
  end
2326
- img = Magick::Image.read(image_path).first
2327
- img.write('./image/memory.png')
2330
+
2331
+ image_path = @shuffled_images.shift[2]
2328
2332
  end
2333
+
2334
+ img = Magick::Image.read(image_path).first
2335
+ img.write('./image/memory.png')
2329
2336
  end
2330
2337
 
2331
2338
  def change_image_size(w)
@@ -2856,6 +2863,22 @@ class Wordpress
2856
2863
  @data['table'].pop
2857
2864
  #제목끝
2858
2865
  # content = " #{content} "
2866
+ if @data['포스트설정']['gpt키워드'].checked?
2867
+ gpt_keyword_prompt = @data['포스트설정']['gpt키워드_프롬프트'].text.to_s.force_encoding('utf-8')
2868
+ gpt_keyword_prompt_sample = gpt_keyword_prompt.strip.empty? ? "프롬프트: 관련된 글을 1500자에서 2500자 사이로 만들어줘" : gpt_keyword_prompt
2869
+ chat = Chat.new(@data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8'), gpt_keyword_prompt)
2870
+ gpt_text = chat.message(keyword)
2871
+ #content = content.to_s + "\n(자동생성글)\n" + gpt_text.to_s
2872
+ content = content.to_s + "(자동생성글)" + gpt_text.to_s
2873
+ elsif @data['포스트설정']['내용을자동생성'].checked?
2874
+ content = auto_text
2875
+ elsif @data['포스트설정']['내용과자동생성'].checked?
2876
+ #content = content + "\n(자동생성글)\n" + auto_text
2877
+ content = content + "(자동생성글)" + auto_text
2878
+ end
2879
+ @data['table'][index][-1] = 45
2880
+ @data['table'] << []
2881
+ @data['table'].pop
2859
2882
 
2860
2883
  if @data['포스트설정']['특정단어굵기'].checked?
2861
2884
  content2 = ''
@@ -2895,7 +2918,7 @@ class Wordpress
2895
2918
  content = content2
2896
2919
  end
2897
2920
  end
2898
- @data['table'][index][-1] = 35
2921
+ @data['table'][index][-1] = 50
2899
2922
  @data['table'] << []
2900
2923
  @data['table'].pop
2901
2924
  if @data['포스트설정']['단어크기변경'].checked?
@@ -2916,19 +2939,7 @@ class Wordpress
2916
2939
  @data['table'][index][-1] = 50
2917
2940
  @data['table'] << []
2918
2941
  @data['table'].pop
2919
- if @data['포스트설정']['gpt키워드'].checked?
2920
- gpt_keyword_prompt = @data['포스트설정']['gpt키워드_프롬프트'].text.to_s.force_encoding('utf-8')
2921
- gpt_keyword_prompt_sample = gpt_keyword_prompt.strip.empty? ? "프롬프트: 관련된 글을 1500자에서 2500자 사이로 만들어줘" : gpt_keyword_prompt
2922
- chat = Chat.new(@data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8'), gpt_keyword_prompt)
2923
- gpt_text = chat.message(keyword)
2924
- #content = content.to_s + "\n(자동생성글)\n" + gpt_text.to_s
2925
- content = content.to_s + "(자동생성글)" + gpt_text.to_s
2926
- elsif @data['포스트설정']['내용을자동생성'].checked?
2927
- content = auto_text
2928
- elsif @data['포스트설정']['내용과자동생성'].checked?
2929
- #content = content + "\n(자동생성글)\n" + auto_text
2930
- content = content + "(자동생성글)" + auto_text
2931
- end
2942
+
2932
2943
 
2933
2944
  if @data['포스트설정']['내용키워드삽입'].checked?
2934
2945
  puts '내용키워드삽입...'
@@ -3113,134 +3124,86 @@ class Wordpress
3113
3124
  puts '내용사진자동삽입...'
3114
3125
  sn = @data['포스트설정']['내용사진자동삽입시작숫자'].text.to_s.force_encoding('utf-8').to_i
3115
3126
  en = @data['포스트설정']['내용사진자동삽입끝숫자'].text.to_s.force_encoding('utf-8').to_i
3127
+
3116
3128
  begin
3117
3129
  cn = rand(sn..en)
3118
3130
  rescue
3119
3131
  cn = 0
3120
3132
  puts 'cn = rand(sn..en) error cn = 1'
3121
3133
  end
3122
-
3134
+
3123
3135
  if cn != 0
3124
- position = Array.new
3136
+ # content5 구성 및 위치 배열 생성
3125
3137
  if @data['포스트설정']['내용과자동생성'].checked?
3126
- if @data['포스트설정']['자동글 수식에 입력'].checked?
3127
- for n in 1..cn
3128
- position << rand(0..(content.split("(자동생성글)")[0].split("\n").length-1))
3129
- sleep(2)
3130
- end
3131
- else
3132
- for n in 1..cn
3133
- position << rand(0..(content.split("(자동생성글)")[0].split("\n").length-1))
3134
- sleep(2)
3135
- end
3136
- end
3137
- # position.pop
3138
- else
3139
- for n in 1..cn
3140
- position << rand(0..(content.split("\n").length-2))
3141
- sleep(2)
3142
- end
3143
- end
3144
-
3145
- if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
3146
3138
  if @data['포스트설정']['자동글 수식에 입력'].checked?
3147
3139
  content5 = content.split("(자동생성글)")[0].to_s.split("\n")
3148
3140
  content55 = content.split("(자동생성글)")[1].to_s
3141
+ position = content5.length.times.to_a.sample(cn).sort.reverse
3149
3142
  else
3150
3143
  content5 = content.split("(자동생성글)")[0].to_s.split("\n")
3151
3144
  content55 = content.split("(자동생성글)")[1].to_s
3145
+ position = content5.length.times.to_a.sample(cn).sort.reverse
3152
3146
  end
3147
+ elsif @data['포스트설정']['gpt키워드'].checked?
3148
+ content5 = content.split("(자동생성글)")[1].to_s.split("\n")
3149
+ content_prefix = content.split("(자동생성글)")[0].to_s
3150
+ content55 = ''
3151
+ position = content5.length.times.to_a.sample(cn).sort.reverse
3153
3152
  else
3153
+ content5 = content.split("\n")
3154
3154
  content55 = ''
3155
- content5 = content.split("(자동생성글)")[0].to_s.split("\n")
3155
+ position = content5.length.times.to_a.sample(cn).sort.reverse
3156
3156
  end
3157
-
3158
- p content5
3159
- puts content55
3160
- p position
3161
-
3157
+
3158
+ # 중복 필터링 로직
3162
3159
  while true
3163
3160
  check11 = 0
3164
- for nn in 0..position.length-1
3165
- if content5[position[nn]].to_s.include?('style') or content5[position[nn]].to_s.include?('<') or content5[position[nn]].to_s.include?('>')
3161
+ position.each_with_index do |pos, idx|
3162
+ if content5[pos].to_s.include?('style') || content5[pos].to_s.include?('<') || content5[pos].to_s.include?('>')
3166
3163
  check11 = 1
3167
- position[nn] += 4
3164
+ position[idx] += 4
3168
3165
  end
3169
3166
  end
3170
- if check11 == 0
3171
- break
3172
- end
3167
+ break if check11 == 0
3173
3168
  end
3174
-
3175
- position = position.sort
3176
- ##여기서부터 이미지 순서대로 안되서 변경####-------------------------------------------------------------------------------
3177
- # if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
3178
- # image_url22 = get_image_file().force_encoding('utf-8')
3179
- # end
3180
-
3181
- # position.each do |i|
3182
- # image_url = get_image_file().force_encoding('utf-8')
3183
- # puts image_url
3184
-
3185
- # puts '사진넣는위치 => '+i.to_s
3186
- # if @data['포스트설정']['내용사진링크'].checked?
3187
- # image_memory << ""+'<a href="'+@data['포스트설정']['내용사진링크값'].text.to_s.force_encoding('utf-8').force_encoding('utf-8')+'"><img src="'+image_url+'" alt="'+keyword.force_encoding('utf-8')+'"></a>'+""
3188
- # content5.insert(i, '**image**')
3189
- # else
3190
- # image_memory << ""+'<img src="'+image_url+'" alt="'+keyword+'" class="aligncenter size-full">'+""
3191
- # content5.insert(i, '**image**')
3192
- # end
3193
- # end
3194
-
3195
- # if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
3196
- # content = content5.join("\n")+'(자동생성글)'+content55
3197
- # iconv = Iconv.new('UTF-8', 'ASCII-8BIT')
3198
- # content = iconv.iconv(content)
3199
- # content = content.encode('UTF-8', 'binary', invalid: :replace, replace: '')
3200
- # puts content
3201
- # image_url = image_url22
3202
-
3203
- # if @data['포스트설정']['자동글 수식에 입력'].checked?
3204
-
3205
- # else
3206
- # if @data['포스트설정']['내용사진링크'].checked?
3207
- # content = content.split('(자동생성글)')[0]+""+'<a href="'+@data['포스트설정']['내용사진링크값'].text.to_s.force_encoding('utf-8')+'"><img src="'+image_url+'" alt="'+keyword+'"></a>'+""+'(자동생성글)'+content.split('(자동생성글)')[1]
3208
- # else
3209
- # content = content.split('(자동생성글)')[0]+""+'<img src="'+image_url+'" alt="'+keyword+'" >'+""+'(자동생성글)'+content.split('(자동생성글)')[1]
3210
- # end
3211
- # end
3212
- ###여기까지 이미지 순서대로 안되서 변경##-------------------------------------------------------------------------------
3213
-
3214
- ##여기서부터 이미지 순서대로 수정코드 변경####-------------------------------------------------------------------------------
3215
- if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
3169
+
3170
+ if @data['포스트설정']['내용과자동생성'].checked? || @data['포스트설정']['gpt키워드'].checked?
3171
+ sleep(2)
3172
+ puts '이미지 자동 세탁 중 · · · '
3173
+ end
3174
+
3175
+ p content5
3176
+ puts content55
3177
+ p position
3178
+
3216
3179
  sleep(2)
3217
- puts '이미지 자동 세탁 중 · · · '
3218
- end
3219
- sleep(2)
3220
- position.each do |i|
3221
- image_url22 = get_image_file().force_encoding('utf-8')
3222
- puts image_url22
3223
- puts '사진넣는위치 => '+i.to_s
3224
- if @data['포스트설정']['내용사진링크'].checked?
3225
- image_memory << ""+'<a href="'+@data['포스트설정']['내용사진링크값'].text.to_s.force_encoding('utf-8').force_encoding('utf-8')+'"><img src="'+image_url22+'" alt="'+keyword.force_encoding('utf-8')+'"></a>'+""
3226
- content5.insert(i, '**image**')
3227
- else
3228
- image_memory << ""+'<img src="'+image_url22+'" alt="'+keyword+'" class="aligncenter size-full">'+""
3229
- content5.insert(i, '**image**')
3180
+ position.each do |i|
3181
+ image_url22 = get_image_file().force_encoding('utf-8')
3182
+ if @data['포스트설정']['내용사진링크'].checked?
3183
+ image_tag = '<a href="' + @data['포스트설정']['내용사진링크값'].text.to_s.force_encoding('utf-8') +
3184
+ '"><img src="' + image_url22 + '" alt="' + keyword.force_encoding('utf-8') + '" class="aligncenter size-full"></a>'
3185
+ else
3186
+ image_tag = '<img src="' + image_url22 + '" alt="' + keyword + '" class="aligncenter size-full">'
3187
+ end
3188
+ content5.insert(i, image_tag)
3230
3189
  end
3231
- end
3232
- sleep(2)
3233
- puts '이미지 자동 세탁 완료 · · · '
3234
- if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
3235
- content = content5.join("\n")+'(자동생성글)'+content55
3236
- puts content
3237
- ##여기서부터 이미지 순서대로 수정코드 변경####-------------------------------------------------------------------------------
3190
+
3191
+ sleep(2)
3192
+ puts '이미지 자동 세탁 완료 · · · '
3193
+
3194
+ if @data['포스트설정']['내용과자동생성'].checked?
3195
+ content = content5.join("\n") + '(자동생성글)' + content55
3196
+ elsif @data['포스트설정']['gpt키워드'].checked?
3197
+ content = content_prefix + "(자동생성글)" + content5.join("\n")
3238
3198
  else
3239
3199
  content = content5.join("\n")
3240
3200
  end
3241
3201
  end
3242
3202
  end
3203
+
3243
3204
 
3205
+
3206
+ ##여기서부터 이미지 순서대로 수정코드 변경####-------------------------------------------------------------------------------
3244
3207
  @data['table'][index][-1] = 70
3245
3208
  @data['table'] << []
3246
3209
  @data['table'].pop
@@ -3248,13 +3211,22 @@ class Wordpress
3248
3211
  content_memory = content.split('(자동생성글)')
3249
3212
  content = content_memory[0]
3250
3213
  content_end = content_memory[1].to_s
3214
+ if @data['포스트설정']['gpt키워드'].checked?
3215
+ if @data['포스트설정']['gpt상단'].checked?
3216
+ content = "(자동생성글)\n" + content_end + "\n" + content
3217
+ else
3218
+ content = content + "\n(자동생성글)\n" + content_end
3219
+ end
3220
+ else
3221
+ content = content + "\n(자동생성글)\n" + content_end
3222
+ end
3251
3223
 
3252
3224
  if @data['포스트설정']['특정단어키워드로변경'].checked?
3253
3225
  @data['포스트설정']['특정단어키워드로변경값'].text.to_s.force_encoding('utf-8').split(',').each do |i|
3254
3226
  content = content.split(i.force_encoding('utf-8')).join(keyword)
3255
3227
  end
3256
3228
  end
3257
-
3229
+
3258
3230
  @data['table'][index][-1] = 75
3259
3231
  @data['table'] << []
3260
3232
  @data['table'].pop
@@ -3281,6 +3253,7 @@ class Wordpress
3281
3253
  if i.force_encoding('utf-8').to_s.include?('@')
3282
3254
  image_memory << ""+'<img src="'+image_url+'" alt="'+keyword+'">'+""
3283
3255
  content[index3] = content[index3] + '**image()**'
3256
+
3284
3257
  else
3285
3258
  image_memory << ""+ '<img src="'+image_url+'" alt="'+keyword+'">'+""
3286
3259
  content[index3] = content[index3] + '**image**'
@@ -3290,6 +3263,8 @@ class Wordpress
3290
3263
  content = content.join('')
3291
3264
  end
3292
3265
  end
3266
+
3267
+
3293
3268
 
3294
3269
  con_memory = Array.new
3295
3270
  index5 = 0
@@ -3327,6 +3302,8 @@ class Wordpress
3327
3302
  content = content.split(i.force_encoding('utf-8')).join("<sticker></sticker>")
3328
3303
  end
3329
3304
  end
3305
+
3306
+
3330
3307
 
3331
3308
  if @data['포스트설정']['영상으로변경'].checked?
3332
3309
  if @video.length == 0
@@ -3355,36 +3332,79 @@ class Wordpress
3355
3332
  # end
3356
3333
  #end
3357
3334
  if @data['포스트설정']['지도로변경'].checked?
3358
- # 지도 주소와 사용자 설정 단어들을 가져옵니다.
3359
3335
  map_address = @data['포스트설정']['지도주소'].text.to_s.force_encoding('utf-8')
3360
-
3361
- # 여러 단어로 설정된 '지도로변경단어'를 분리하여 배열로 저장
3362
3336
  change_words = @data['포스트설정']['지도로변경단어'].text.to_s.force_encoding('utf-8').split(',')
3363
3337
 
3364
- # content를 각 줄로 분할
3365
3338
  content_lines = content.split("\n")
3339
+ new_lines = []
3340
+
3341
+ content_lines.each do |line|
3342
+ # 이미 처리된 줄은 건너뜀
3343
+ if line.include?("<koreamap>")
3344
+ new_lines << line
3345
+ next
3346
+ end
3347
+
3348
+ processed = false
3366
3349
 
3367
- content_lines.each_with_index do |line, index|
3368
- # 각 단어에 대해 처리
3369
3350
  change_words.each do |change_word|
3370
- # 'change_word'가 포함된 줄에 대해서만 처리
3371
- if line.include?(change_word)
3372
- # 설정된 단어 뒤에 괄호가 있는지 확인
3373
- if line.include?("[") && line.include?("]")
3374
- # 괄호 안의 주소를 찾아서 그 주소는 그대로 두고, 지도로 변경된 주소로 교체
3375
- address_in_brackets = line.match(/\[(.*?)\]/)[1] # 괄호 안의 주소를 추출
3376
- content_lines[index] = "<koreamap>#{address_in_brackets}</koreamap>"
3377
- else
3378
- # 괄호가 없다면 @data['포스트설정']['지도주소']를 추가
3379
- content_lines[index] = "<koreamap>#{map_address}</koreamap>"
3351
+ # 1. [단어][주소] 패턴 처리: 분리 + 출력
3352
+ if line =~ /#{Regexp.escape(change_word)}\[(.*?)\]/
3353
+ match_data = line.match(/(.*)#{Regexp.escape(change_word)}\[(.*?)\](.*)/)
3354
+ if match_data
3355
+ before = match_data[1]
3356
+ address = match_data[2]
3357
+ after = match_data[3]
3358
+
3359
+ # 태그 추출
3360
+ open_tag = before[/<p[^>]*?>/i] || ""
3361
+ close_tag = after[/<\/p>/i] || ""
3362
+
3363
+ # 텍스트 정리
3364
+ before_text = before.sub(open_tag, '')
3365
+ after_text = after.sub(close_tag, '')
3366
+
3367
+ # 줄 분리
3368
+ new_lines << "#{open_tag}#{before_text}</p>" unless before_text.strip.empty?
3369
+ new_lines << "<koreamap>#{address}</koreamap>"
3370
+ new_lines << "#{open_tag}#{after_text}#{close_tag}" unless after_text.strip.empty?
3371
+
3372
+ processed = true
3373
+ break
3380
3374
  end
3381
3375
  end
3376
+
3377
+ # 2. 일반 단어 처리 (한 줄에만 등장하는 경우)
3378
+ if !processed && line.include?(change_word)
3379
+ parts = line.split(change_word, 2)
3380
+ prefix = parts[0]
3381
+ suffix = parts[1]
3382
+
3383
+ open_tag = prefix[/<p[^>]*?>/i] || ""
3384
+ close_tag = suffix[/<\/p>/i] || ""
3385
+
3386
+ prefix_text = prefix.sub(open_tag, '')
3387
+ suffix_text = suffix.sub(close_tag, '')
3388
+
3389
+ new_lines << "#{open_tag}#{prefix_text}</p>" unless prefix_text.strip.empty?
3390
+ new_lines << "<koreamap>#{map_address}</koreamap>"
3391
+ new_lines << "#{open_tag}#{suffix_text}#{close_tag}" unless suffix_text.strip.empty?
3392
+
3393
+ processed = true
3394
+ break
3395
+ end
3382
3396
  end
3397
+
3398
+ # 변경이 없었으면 원래 줄 추가
3399
+ new_lines << line unless processed
3383
3400
  end
3384
3401
 
3385
- # 다시 content로 합치기
3386
- content = content_lines.join("\n")
3402
+ content = new_lines.join("\n")
3387
3403
  end
3404
+
3405
+
3406
+
3407
+
3388
3408
 
3389
3409
  if @data['포스트설정']['인용구변경'].checked?
3390
3410
  if @data['포스트설정']['인용구문구설정'].checked?
@@ -3422,21 +3442,26 @@ class Wordpress
3422
3442
  @data['table'] << []
3423
3443
  @data['table'].pop
3424
3444
 
3445
+
3446
+ parts = content.split('(자동생성글)', 2)
3447
+ content_main = parts[0].strip
3448
+ content_end = parts[1].to_s.strip
3449
+
3425
3450
  soosick_1 = ''
3426
3451
  soosick_2 = ''
3427
3452
  if @data['포스트설정']['자동글 수식에 입력'].checked?
3428
- content = content
3429
- soosick_1 = content_end
3453
+ content = content_main
3454
+ soosick_1 = content_end
3430
3455
  else
3431
- if @data['포스트설정']['gpt키워드'].checked?
3432
- if @data['포스트설정']['gpt상단'].checked?
3433
- content = content_end+"\n"+content+"\n"
3434
- else
3435
- content = content+"\n"+content_end+"\n"
3436
- end
3456
+ if @data['포스트설정']['gpt키워드'].checked?
3457
+ if @data['포스트설정']['gpt상단'].checked?
3458
+ content = content_end + "\n" + content_main + "\n"
3437
3459
  else
3438
- content = content+"\n"+content_end+"\n"
3460
+ content = content_main + "\n" + content_end + "\n"
3439
3461
  end
3462
+ else
3463
+ content = content_main + "\n" + content_end + "\n"
3464
+ end
3440
3465
  end
3441
3466
 
3442
3467
  if @data['포스트설정']['막글삽입'].checked?
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cafe_buy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.79
4
+ version: 0.1.33
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-03-12 00:00:00.000000000 Z
10
+ date: 2025-04-24 00:00:00.000000000 Z
12
11
  dependencies: []
13
12
  description: File to Clipboard gem
14
13
  email: mymin26@naver.com
@@ -21,7 +20,6 @@ homepage: ''
21
20
  licenses:
22
21
  - zon
23
22
  metadata: {}
24
- post_install_message:
25
23
  rdoc_options: []
26
24
  require_paths:
27
25
  - lib
@@ -36,8 +34,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
36
34
  - !ruby/object:Gem::Version
37
35
  version: '0'
38
36
  requirements: []
39
- rubygems_version: 3.3.7
40
- signing_key:
37
+ rubygems_version: 3.6.7
41
38
  specification_version: 4
42
39
  summary: file to clipboard
43
40
  test_files: []