cafe_buy_duo 0.0.72 → 0.1.30

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_duo.rb +169 -169
  3. metadata +3 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c9fe4bcd3fcd82610a9bbe0196360d3bf70c0180375632a35dc6772c6a024057
4
- data.tar.gz: c0bf3a0d5bad014a1d62f05f163237e794374763e170892e5c0d517b0c0dc603
3
+ metadata.gz: 60d871a7fde4f54c26b5ee22cbfcb92794439f3f701731fb8c9873ea4d8d4d26
4
+ data.tar.gz: 388fbfc1471b59266b074365fe99a19a003cb68c3c39246c747b6face4cf3557
5
5
  SHA512:
6
- metadata.gz: 19bed56137b3ffd6bf0a08bb202ea9511f9f3cf9408f2dd252ee185e49d1c83765d729dd55d1504ae6d3a16e75620dde29b3b55763b7a56d38796744cba14f48
7
- data.tar.gz: 65b58309792ac6e54a1c0494893b282865105f128713e5a91d6e18407c65cf9139bc54efe6e5ed02ca7979e09d774d42f36f9ecc213f522eb64dbf5d1ac64d43
6
+ metadata.gz: 713af3ca90de7989cf97b9ee0932d1b6df33d78d861be790131db7c4672d187c604e9dd0b46ae5295ba2f222b63a2ae884b26fa70c15f5ec299602ccc0fccb01
7
+ data.tar.gz: 2fa37368789201645440b6448b788b2cc46f2809fcfa6f6a5e51c8ad38d11192307fcb021943742cd15d8ed3cb71bca1055d7782592b2b34dc5b56470403d609
data/lib/cafe_buy_duo.rb CHANGED
@@ -243,22 +243,22 @@ class Naver
243
243
  @seed = 1
244
244
 
245
245
  begin
246
- # webdrivers가 사용자의 Chrome 버전에 맞는 chromedriver 다운로드 시도
247
-
248
- # Webdrivers가 드라이버를 다운로드할 경로를 설정
246
+ # 웹드라이버가 사용자의 Chrome 버전에 맞는 chromedriver 다운로드 시도
249
247
  Webdrivers.cache_time = 86_400 # 하루로 설정 (기본값: 86_400초)
250
248
  Webdrivers.install_dir = "./" # 크롬드라이버를 수동으로 설치할 경로를 설정
249
+
251
250
  # 크롬드라이버 자동 업데이트 시도
252
251
  Webdrivers::Chromedriver.update
253
252
  puts "chromedriver 자동 다운로드 성공"
254
- rescue => e
253
+ rescue => e
255
254
  puts "chromedriver 자동 다운로드 실패: #{e.message}"
256
255
  puts "폴더내 크롬드라이버를 사용합니다."
257
256
  puts "크롬드라이버가 오래된 경우 오류 발생될 수 있으며, 만일 오류 발생시 아래 지침을 따라주세요."
258
257
  puts "1.크롬 업데이트 2.프로그램 폴더 내부에 ★tip★-시작시-크롬창이....파일을 열어 드라이버를 교체하세요."
259
258
  chromedriver_path = './chromedriver.exe' # 수동 경로를 인스턴스 변수로 설정
260
259
  Selenium::WebDriver::Chrome::Service.driver_path = chromedriver_path
261
- end
260
+ end
261
+
262
262
 
263
263
  end
264
264
 
@@ -367,6 +367,8 @@ class Naver
367
367
 
368
368
 
369
369
 
370
+
371
+
370
372
  def login(user_id, user_pw, proxy)
371
373
  @user_id = user_id
372
374
  @user_id11 = user_id
@@ -1050,54 +1052,80 @@ end
1050
1052
 
1051
1053
 
1052
1054
  #######################################
1053
-
1054
-
1055
-
1056
- if option['결제'][0] == false
1057
- puts '결제1'
1058
- @driver.find_element(:xpath, '//*[@id="app"]/div/div/section/div/div[2]/div[1]/div[1]/div[2]/div[5]/div/div/div[1]/div[1]/div/label').click
1059
- sleep(1)
1060
- end
1061
-
1062
- if option['결제'][1] == true
1063
- puts '결제2'
1055
+ if option['pay안전결제'] == 'true'
1064
1056
  begin
1065
- @driver.find_element(:xpath, '//*[@id="app"]/div/div/section/div/div[2]/div[1]/div[1]/div[2]/div[5]/div/div/div[1]/div[2]/div/label').click
1066
- sleep(1)
1057
+ # 'selected' 클래스가 없는 첫 번째 deal_item 요소를 찾아 그 안의 label을 클릭
1058
+ @driver.find_element(:xpath, "//div[@class='deal_item' and not(contains(@class, 'selected'))]//label[@for='deal1']").click
1059
+ puts '안전결제 가능 클릭'
1060
+ rescue
1061
+ end
1062
+ sleep(1)
1063
+ elsif option['pay안전결제'] == 'false'
1064
+ puts 'pay안전결제 선택 해제'
1065
+ begin
1066
+ # 'selected' 클래스가 있는 첫 번째 deal_item 요소를 찾아 그 안의 label을 클릭
1067
+ @driver.find_element(:xpath, "//div[@class='deal_item selected']//label[@for='deal1']").click
1067
1068
  rescue
1068
-
1069
1069
  end
1070
1070
  end
1071
-
1072
- if option['결제'][2] == false
1073
- puts '결제3'
1074
- @driver.find_element(:xpath, '//*[@id="app"]/div/div/section/div/div[2]/div[1]/div[1]/div[2]/div[5]/div/div/div[2]/div/div/label').click
1075
- sleep(1)
1071
+
1072
+ if option['pay송금'] == 'true'
1073
+ begin
1074
+ # 'selected' 클래스가 없는 첫 번째 deal_item 요소를 찾아 그 안의 label을 클릭
1075
+ @driver.find_element(:xpath, "//div[@class='deal_item' and not(contains(@class, 'selected'))]//label[@for='deal2']").click
1076
+ puts '안전결제 클릭'
1077
+ rescue
1078
+ end
1079
+ sleep(1)
1080
+ elsif option['pay송금'] == 'false'
1081
+ begin
1082
+ # 'selected' 클래스가 있는 첫 번째 deal_item 요소를 찾아 그 안의 label을 클릭
1083
+ @driver.find_element(:xpath, "//div[@class='deal_item selected']//label[@for='deal2']").click
1084
+ puts 'pay송금 해제'
1085
+ rescue
1086
+ end
1076
1087
  end
1077
1088
 
1078
- if option['결제'][3] == true
1079
- puts '결제4'
1080
- @driver.find_element(:xpath, '//*[@id="app"]/div/div/section/div/div[2]/div[1]/div[1]/div[2]/div[6]/div[2]/div/div/div/label').click
1089
+ if option['휴대전화번호노출동의'] == 'true'
1090
+ begin
1091
+ # 부모 요소 .check_area 안에 .safe_number가 없는 경우에만 클릭
1092
+ @driver.find_element(:xpath, '//*[@class="check_area"]//*[@for="agree1"]').click
1093
+ puts '휴대전화번호 노출 동의 클릭'
1094
+ sleep(1)
1095
+ if option['안심번호'] == 'true'
1096
+ begin
1097
+ @driver.find_element(:xpath, '//*[@class="safe_number"]//*[@for="agree2"]').click
1098
+ puts '안심번호 클릭'
1099
+ rescue
1100
+ end
1101
+ sleep(1)
1102
+ end
1103
+ rescue
1104
+ end
1105
+
1106
+ elsif option['휴대전화번호노출동의'] == 'false'
1107
+ begin
1108
+ puts '휴대전화번호 노출 동의 해제'
1109
+ rescue
1110
+ end
1081
1111
  sleep(1)
1082
1112
  end
1083
-
1084
- if option['결제'][4] == true
1085
- puts '결제5'
1113
+
1114
+ if option['워터마크'] == 'true'
1115
+ begin
1116
+ puts '워터마크 클릭 된 상태'
1117
+ rescue
1118
+ end
1119
+ sleep(1)
1120
+ elsif option['워터마크'] == 'false'
1086
1121
  begin
1087
- @driver.find_element(:xpath, '//*[@id="app"]/div/div/section/div/div[2]/div[1]/div[1]/div[2]/div[6]/div[2]/div/div[2]/div/label').click
1088
- sleep(1)
1122
+ # 'selected' 클래스가 있는 첫 번째 deal_item 요소를 찾아 그 안의 label을 클릭
1123
+ @driver.find_element(:xpath, '//*[@for="watermark"]').click
1124
+ puts '워터마크 해제 클릭'
1089
1125
  rescue
1090
-
1091
1126
  end
1092
1127
  end
1093
-
1094
- if option['결제'][5] == false
1095
- puts '결제6'
1096
- @driver.find_element(:xpath, '//*[@id="app"]/div/div/section/div/div[2]/div[1]/div[1]/div[2]/div[7]/div/div/label').click
1097
-
1098
- end
1099
1128
 
1100
-
1101
1129
 
1102
1130
 
1103
1131
 
@@ -2311,7 +2339,8 @@ class Wordpress
2311
2339
 
2312
2340
 
2313
2341
 
2314
- #def chrome_start(url, user_id, user_pw)
2342
+
2343
+ #def chrome_start(url, user_id, user_pw)
2315
2344
  # @url = url
2316
2345
  # @user_id = user_id
2317
2346
  # @user_pw = user_pw
@@ -2351,20 +2380,27 @@ class Wordpress
2351
2380
 
2352
2381
  def save_image
2353
2382
  if @data['이미지설정']['이미지'].length == 0
2354
-
2383
+ return
2384
+ end
2385
+
2386
+ if @data['이미지설정']['순서사용'].checked?
2387
+ image_path = @data['이미지설정']['이미지'][@image_counter][2]
2388
+ @image_counter += 1
2389
+ if @image_counter > @data['이미지설정']['이미지'].length - 1
2390
+ @image_counter = 0
2391
+ end
2355
2392
  else
2356
- if @data['이미지설정']['순서사용'].checked?
2357
- image_path = @data['이미지설정']['이미지'][@image_counter][2]
2358
- @image_counter += 1
2359
- if @image_counter > @data['이미지설정']['이미지'].length-1
2360
- @image_counter = 0
2361
- end
2362
- else
2363
- image_path = @data['이미지설정']['이미지'].sample[2]
2393
+ # 초기화가 안됐거나 다 썼으면 새롭게 섞는다
2394
+ @shuffled_images ||= []
2395
+ if @shuffled_images.empty?
2396
+ @shuffled_images = @data['이미지설정']['이미지'].shuffle
2364
2397
  end
2365
- img = Magick::Image.read(image_path).first
2366
- img.write('./image/memory.png')
2398
+
2399
+ image_path = @shuffled_images.shift[2]
2367
2400
  end
2401
+
2402
+ img = Magick::Image.read(image_path).first
2403
+ img.write('./image/memory.png')
2368
2404
  end
2369
2405
 
2370
2406
  def change_image_size(w)
@@ -2566,13 +2602,7 @@ class Wordpress
2566
2602
  product_category1 << @data['포스트설정']['카테고리대1'].text.to_s.force_encoding('utf-8')
2567
2603
  product_category1 << @data['포스트설정']['카테고리중2'].text.to_s.force_encoding('utf-8')
2568
2604
  product_category1 << @data['포스트설정']['카테고리소3'].text.to_s.force_encoding('utf-8')
2569
- payment = Array.new
2570
- payment << @data['포스트설정']['pay안전결제 가능'].checked?
2571
- payment << @data['포스트설정']['상품등록정보의 거래업체 제공 동의'].checked?
2572
- payment << @data['포스트설정']['pay송금 가능'].checked?
2573
- payment << @data['포스트설정']['휴대전화번호 노출동의'].checked?
2574
- payment << @data['포스트설정']['안심번호 이용'].checked?
2575
- payment << @data['포스트설정']['워터마크'].checked?
2605
+
2576
2606
 
2577
2607
  while true
2578
2608
  for n in 0..@data['table'].length-1
@@ -2679,7 +2709,6 @@ class Wordpress
2679
2709
  end
2680
2710
  end
2681
2711
 
2682
-
2683
2712
  check_success = 1
2684
2713
  @data['table'][index][-1] = 0
2685
2714
  if @data['제목설정']['제목'].length == 0
@@ -3159,128 +3188,77 @@ class Wordpress
3159
3188
  puts '내용사진자동삽입...'
3160
3189
  sn = @data['포스트설정']['내용사진자동삽입시작숫자'].text.to_s.force_encoding('utf-8').to_i
3161
3190
  en = @data['포스트설정']['내용사진자동삽입끝숫자'].text.to_s.force_encoding('utf-8').to_i
3191
+
3162
3192
  begin
3163
3193
  cn = rand(sn..en)
3164
3194
  rescue
3165
3195
  cn = 0
3166
3196
  puts 'cn = rand(sn..en) error cn = 1'
3167
3197
  end
3168
-
3198
+
3169
3199
  if cn != 0
3170
- position = Array.new
3200
+ # content5 구성 및 위치 배열 생성
3171
3201
  if @data['포스트설정']['내용과자동생성'].checked?
3172
- if @data['포스트설정']['자동글 수식에 입력'].checked?
3173
- for n in 1..cn
3174
- position << rand(0..(content.split("(자동생성글)")[0].split("\n").length-1))
3175
- sleep(2)
3176
- end
3177
- else
3178
- for n in 1..cn
3179
- position << rand(0..(content.split("(자동생성글)")[0].split("\n").length-1))
3180
- sleep(2)
3181
- end
3182
- end
3183
- # position.pop
3184
- else
3185
- for n in 1..cn
3186
- position << rand(0..(content.split("\n").length-2))
3187
- sleep(2)
3188
- end
3189
- end
3190
-
3191
- if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
3192
3202
  if @data['포스트설정']['자동글 수식에 입력'].checked?
3193
3203
  content5 = content.split("(자동생성글)")[0].to_s.split("\n")
3194
3204
  content55 = content.split("(자동생성글)")[1].to_s
3205
+ position = content5.length.times.to_a.sample(cn).sort.reverse
3195
3206
  else
3196
3207
  content5 = content.split("(자동생성글)")[0].to_s.split("\n")
3197
3208
  content55 = content.split("(자동생성글)")[1].to_s
3209
+ position = content5.length.times.to_a.sample(cn).sort.reverse
3198
3210
  end
3211
+ elsif @data['포스트설정']['gpt키워드'].checked?
3212
+ content5 = content.split("(자동생성글)")[1].to_s.split("\n")
3213
+ content_prefix = content.split("(자동생성글)")[0].to_s
3214
+ content55 = ''
3215
+ position = content5.length.times.to_a.sample(cn).sort.reverse
3199
3216
  else
3217
+ content5 = content.split("\n")
3200
3218
  content55 = ''
3201
- content5 = content.split("(자동생성글)")[0].to_s.split("\n")
3219
+ position = content5.length.times.to_a.sample(cn).sort.reverse
3202
3220
  end
3203
-
3204
- p content5
3205
- puts content55
3206
- p position
3207
-
3221
+
3222
+ # 중복 필터링 로직
3208
3223
  while true
3209
3224
  check11 = 0
3210
- for nn in 0..position.length-1
3211
- if content5[position[nn]].to_s.include?('style') or content5[position[nn]].to_s.include?('<') or content5[position[nn]].to_s.include?('>')
3225
+ position.each_with_index do |pos, idx|
3226
+ if content5[pos].to_s.include?('style') || content5[pos].to_s.include?('<') || content5[pos].to_s.include?('>')
3212
3227
  check11 = 1
3213
- position[nn] += 4
3228
+ position[idx] += 4
3214
3229
  end
3215
3230
  end
3216
- if check11 == 0
3217
- break
3218
- end
3231
+ break if check11 == 0
3219
3232
  end
3220
-
3221
- position = position.sort
3222
- ##여기서부터 이미지 순서대로 안되서 변경####-------------------------------------------------------------------------------
3223
- # if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
3224
- # image_url22 = get_image_file().force_encoding('utf-8')
3225
- # end
3226
-
3227
- # position.each do |i|
3228
- # image_url = get_image_file().force_encoding('utf-8')
3229
- # puts image_url
3230
-
3231
- # puts '사진넣는위치 => '+i.to_s
3232
- # if @data['포스트설정']['내용사진링크'].checked?
3233
- # 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>'+""
3234
- # content5.insert(i, '**image**')
3235
- # else
3236
- # image_memory << ""+'<img src="'+image_url+'" alt="'+keyword+'" class="aligncenter size-full">'+""
3237
- # content5.insert(i, '**image**')
3238
- # end
3239
- # end
3240
-
3241
- # if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
3242
- # content = content5.join("\n")+'(자동생성글)'+content55
3243
- # iconv = Iconv.new('UTF-8', 'ASCII-8BIT')
3244
- # content = iconv.iconv(content)
3245
- # content = content.encode('UTF-8', 'binary', invalid: :replace, replace: '')
3246
- # puts content
3247
- # image_url = image_url22
3248
-
3249
- # if @data['포스트설정']['자동글 수식에 입력'].checked?
3250
-
3251
- # else
3252
- # if @data['포스트설정']['내용사진링크'].checked?
3253
- # content = content.split('(자동생성글)')[0]+""+'<a href="'+@data['포스트설정']['내용사진링크값'].text.to_s.force_encoding('utf-8')+'"><img src="'+image_url+'" alt="'+keyword+'"></a>'+""+'(자동생성글)'+content.split('(자동생성글)')[1]
3254
- # else
3255
- # content = content.split('(자동생성글)')[0]+""+'<img src="'+image_url+'" alt="'+keyword+'" >'+""+'(자동생성글)'+content.split('(자동생성글)')[1]
3256
- # end
3257
- # end
3258
- ###여기까지 이미지 순서대로 안되서 변경##-------------------------------------------------------------------------------
3259
-
3260
- ##여기서부터 이미지 순서대로 수정코드 변경####-------------------------------------------------------------------------------
3261
- if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
3233
+
3234
+ if @data['포스트설정']['내용과자동생성'].checked? || @data['포스트설정']['gpt키워드'].checked?
3235
+ sleep(2)
3236
+ puts '이미지 자동 세탁 중 · · · '
3237
+ end
3238
+
3239
+ p content5
3240
+ puts content55
3241
+ p position
3242
+
3262
3243
  sleep(2)
3263
- puts '이미지 자동 세탁 중 · · · '
3264
- end
3265
- sleep(2)
3266
- position.each do |i|
3267
- image_url22 = get_image_file().force_encoding('utf-8')
3268
- puts image_url22
3269
- puts '사진넣는위치 => '+i.to_s
3270
- if @data['포스트설정']['내용사진링크'].checked?
3271
- 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>'+""
3272
- content5.insert(i, '**image**')
3273
- else
3274
- image_memory << ""+'<img src="'+image_url22+'" alt="'+keyword+'" class="aligncenter size-full">'+""
3275
- content5.insert(i, '**image**')
3244
+ position.each do |i|
3245
+ image_url22 = get_image_file().force_encoding('utf-8')
3246
+ if @data['포스트설정']['내용사진링크'].checked?
3247
+ image_tag = '<a href="' + @data['포스트설정']['내용사진링크값'].text.to_s.force_encoding('utf-8') +
3248
+ '"><img src="' + image_url22 + '" alt="' + keyword.force_encoding('utf-8') + '" class="aligncenter size-full"></a>'
3249
+ else
3250
+ image_tag = '<img src="' + image_url22 + '" alt="' + keyword + '" class="aligncenter size-full">'
3251
+ end
3252
+ content5.insert(i, image_tag)
3276
3253
  end
3277
- end
3278
- sleep(2)
3279
- puts '이미지 자동 세탁 완료 · · · '
3280
- if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
3281
- content = content5.join("\n")+'(자동생성글)'+content55
3282
- puts content
3283
- ##여기서부터 이미지 순서대로 수정코드 변경####-------------------------------------------------------------------------------
3254
+
3255
+ sleep(2)
3256
+ puts '이미지 자동 세탁 완료 · · · '
3257
+
3258
+ if @data['포스트설정']['내용과자동생성'].checked?
3259
+ content = content5.join("\n") + '(자동생성글)' + content55
3260
+ elsif @data['포스트설정']['gpt키워드'].checked?
3261
+ content = content_prefix + "(자동생성글)" + content5.join("\n")
3284
3262
  else
3285
3263
  content = content5.join("\n")
3286
3264
  end
@@ -3554,7 +3532,34 @@ class Wordpress
3554
3532
  option['클릭항목'] = [@data['포스트설정']['미개봉'].checked?,@data['포스트설정']['거의 새 것'].checked?,@data['포스트설정']['사용감있음'].checked?]
3555
3533
  option['배달'] = [@data['포스트설정']['직거래'].checked?, @data['포스트설정']['택배 거래'].checked?, @data['포스트설정']['온라인전송'].checked?]
3556
3534
  option['직 거래 카테고리'] = product_category1
3557
- option['결제'] = payment
3535
+
3536
+
3537
+ if @data['포스트설정']['pay안전결제'].checked?
3538
+ option['pay안전결제'] = 'true'
3539
+ else
3540
+ option['pay안전결제'] = 'false'
3541
+ end
3542
+ if @data['포스트설정']['pay송금'].checked?
3543
+ option['pay송금'] = 'true'
3544
+ else
3545
+ option['pay송금'] = 'false'
3546
+ end
3547
+ if @data['포스트설정']['휴대전화번호노출동의'].checked?
3548
+ option['휴대전화번호노출동의'] = 'true'
3549
+ else
3550
+ option['휴대전화번호노출동의'] = 'false'
3551
+ end
3552
+ if @data['포스트설정']['안심번호'].checked?
3553
+ option['안심번호'] = 'true'
3554
+ else
3555
+ option['안심번호'] = 'false'
3556
+ end
3557
+ if @data['포스트설정']['워터마크'].checked?
3558
+ option['워터마크'] = 'true'
3559
+ else
3560
+ option['워터마크'] = 'false'
3561
+ end
3562
+
3558
3563
 
3559
3564
  if @data['포스트설정']['전체공개'].checked?
3560
3565
  option['전체공개'] = 'true'
@@ -5814,28 +5819,24 @@ class Wordpress
5814
5819
  top 2
5815
5820
  left 0
5816
5821
  }
5817
- @data['포스트설정']['pay안전결제 가능'] = checkbox('pay안전결제 가능'){
5822
+ @data['포스트설정']['pay안전결제'] = checkbox('pay안전결제 가능'){
5818
5823
  top 2
5819
5824
  left 1
5820
5825
  }
5826
+
5821
5827
 
5822
- @data['포스트설정']['pay안전결제 가능'].checked = true
5823
-
5824
- @data['포스트설정']['상품등록정보의 거래업체 제공 동의'] = checkbox('상품등록정보의 거래업체 제공 동의'){
5828
+ @data['포스트설정']['pay송금'] = checkbox('pay송금 가능'){
5825
5829
  top 2
5826
5830
  left 2
5827
5831
  }
5828
- @data['포스트설정']['pay송금 가능'] = checkbox('pay송금 가능'){
5829
- top 2
5830
- left 3
5831
- }
5832
- @data['포스트설정']['pay송금 가능'].checked = true
5833
5832
 
5834
- @data['포스트설정']['휴대전화번호 노출동의'] = checkbox('휴대전화번호 노출동의'){
5833
+
5834
+ @data['포스트설정']['휴대전화번호노출동의'] = checkbox('휴대전화번호 노출동의'){
5835
5835
  top 3
5836
5836
  left 1
5837
5837
  }
5838
- @data['포스트설정']['안심번호 이용'] = checkbox('안심번호 이용'){
5838
+
5839
+ @data['포스트설정']['안심번호'] = checkbox('안심번호 이용'){
5839
5840
  top 3
5840
5841
  left 2
5841
5842
  }
@@ -5871,7 +5872,6 @@ class Wordpress
5871
5872
  stretchy false
5872
5873
  }
5873
5874
 
5874
- @data['포스트설정']['워터마크'].checked = true
5875
5875
  }
5876
5876
  }
5877
5877
  }
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cafe_buy_duo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.72
4
+ version: 0.1.30
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-03-07 00:00:00.000000000 Z
10
+ date: 2025-04-17 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: []